이번 포스팅은 Local 개발 환경에 mkcert를 통해 인증서를 발급하고 Https(443포트)를 적용시키는 방법을 다루고 있다.
Https 적용 순서
1. brew를 통해 mkcert 설치
2. mkcert를 사용하여 인증서 생성
3. application.yml 설정 및 프로젝트에 인증서 적용
1. brew를 통해 mkcert 설치
1. brew search mkcert
를 통해 mkcert를 확인 후 brew install mkcert
로 설치
2. mkcert -install
명령어를 통해 mkcert 설치 확인
2. mkcert를 사용하여 SSL 인증서 생성
1. 적용할 프로젝트의 “src/main/resorces” 위치로 이동
(추후에 application.yml 파일을 설정할 때, classpath로 경로를 설정하는데, spring boot의 classpath는 기본적으로 “src/main/resorces”로 설정되어있다.)
2. mkcert -key-file localhost-key.pem -cert-file localhost.pem localhost 127.0.0.1 ::1
명령어로 pem key 발급
3. openssl pkcs12 -export -in localhost.pem -inkey localhost-key.pem -out localhost.p12 -name "localhost"
명령어를 통해 .pem 파일을 .p12 파일로 변환
3. Spring boot 프로젝트에 적용
1. application.yml 파일에 인증서를 적용시키는 코드를 작성
server:
port: 443
ssl:
key-store: classpath:localhost.p12
key-store-type: PKCS12
key-store-password: { 비밀번호 입력 }
2. 서버를 실행시키고, https가 잘 적용되는지 확인
3. https 적용 완료
// local 환경에서 테스트를 위한 컨트롤러
package com.appledeveloperacademy.NC2.domain.test.controller;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@RequestMapping("/tests")
public class TestController {
@GetMapping
private String printTest() {
return "test";
}
}
'Spring boot' 카테고리의 다른 글
Nginx로 HTTPS 설정하기 (0) | 2024.06.18 |
---|---|
Route 53없이 가비아 DNS 레코드를 통해 EC2 도메인 연결 및 Nginx로 서버 배포하기 (0) | 2024.06.17 |
AWS EC2 & S3 & Code Deploy를 활용한 CD (4) | 2024.05.08 |
AWS EC2인스턴스에 Spring Boot 서버 배포하기 (0) | 2024.04.30 |
Github Actions를 활용한 CI (1) | 2024.04.27 |