본문 바로가기

인프라

Certbot을 활용한 let's Encrypt 인증서 만들기

Let's Encrypt는 사용자에게 무료 TLS 인증서를 발급해 주는 비영리기관이다.  - 나무위키 

 

인스턴스 생성

route53 연동

보안 그룹 80 포트 열기

인스턴스 ssh 접속

ubuntu@ip-172-31-42-5:~$ sudo apt update
ubuntu@ip-172-31-42-5:~$ sudo apt install letsencrypt -y
ubuntu@ip-172-31-42-5:~$ sudo certbot certonly --standalone -d [도메인 주소]

이후 나오는 이메일 주소 입력 및 동의

권한 문제 해결을 위해 권한 부여도 해줍니다.

ubuntu@ip-172-31-42-5:~$ sudo chmod a+rx /etc/letsencrypt/live
ubuntu@ip-172-31-42-5:~$ cd /etc/letsencrypt/live/[도메인주소]/
ubuntu@ip-172-31-42-5:~$ sudo openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name ttp -CAfile chain.pem -caname root
ubuntu@ip-172-31-42-5:/etc/letsencrypt/live/[도메인 주소]$ sudo chmod a+r keystore.p12

여기서 Enter Export Password 가 나오는데 스프링 부트에 적용 시 필요한 비밀번호입니다.

안에 있는 keystore.p12를 가져와서 resources밑에 넣어줍니다.

application.properties 설정

server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=[아까 입력한 비밀번호]
server.port=8080

빌드 후 테스트

정상적으로 https가 적용된 것을 볼 수 있습니다.