HTTP, HTTPS 가 허용되어 있어야 합니다.
발급받으신 도메인을 입력해 생성하시면 됩니다.
값에다가 EC2 Public IP를 입력해주시면 됩니다.
여기서 www.도메인 을 사용하시고 싶으시면 레코드 이름에 www 를 입력해주시면 됩니다.
(레코드를 여러개 추가해서 [도메인, www.도메인] 둘다 사용 가능합니다.)
편집실력이 부족해서 모자이크가 더럽게 범벅이 되어버렸네요 ㅋㅋㅋ
NS유형의 레코드 4가지의 값을 도메인 등록 하신 곳에서 네임서버로 등록하시면 됩니다!!
(도메인 발급한게 제가 아니라서 네임서버 등록은 사진이 없습니다 ㅠㅠ)
무료 SSL 인증서
먼저 SSH로 EC2 인스턴스에 접속해봅시다. 그리고 certbot을 사용해 SSL 인증서를 발급 받을거에요.
sudo yum install certbot
sudo certbot certonly —standalone
발급이 성공하게 되면 /etc/letsencrypt/live/도메인
경로에 fullchain.pem 과 privkey.prem이 발급이 되었다고 나옵니다. 해당 경로로 이동합니다. (참고로 root 계정으로 이동해야 합니다.)
sudo openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name ttp -CAfile chain.pem -caname root
이렇게 발급한 SSL 인증서는 90일 동안만 사용이 가능합니다.
하지만 항상 방법은 있는법!! 자동갱신 가능합니다.
// Crontab 보기
crontab -l
// Crontab 편집
crontab -e
// 매달 1일에 SSL 인증서 갱신 하는 명령어
0 2 1 * * /usr/bin/certbot renew
crontab 편집모드로 들어가서 매달 1일에 자동 갱신되는 명령어를 입력하고 저장합니다.
certbot certificates
: SSL 인증서 정보 표시 (만료일 확인 가능)certbot renew —dry-run
: SSL 인증서 갱신 테스트NginX 설정파일을 직접 설정할 수도 있긴 하지만 더 간편한 방법이 존재하길래 쉬운 길을 선택하였습니다.
아까 EC2 인스턴스에서 PKCS12 형식으로 변경하고 나면 keystore.p12 파일이 생성 될텐데 그 파일을 resources/ssl
에 넣어주시면 됩니다. (저는 파일질라로 가져와서 넣어줬어요.)
원하시는 properties 파일에 keystore 설정과 port 443(Https) 을 설정해주세요.
비밀번호는 아까 PKCS12 변경하면서 외워둔 비밀번호를 쓰시면 됩니다.
스프링부트에서는 설정 이것만 해주시면 끝입니다. 참 쉽죠?
자 세팅을 전부 완료했으니 한번 배포하여 잘 작동하나 확인해 볼까요?
우왕 제대로 작동됩니다!!
진짜 이 화면 보고나서 얼마나 뿌듯했는지 ㅋㅋㅋㅋㅋㅋ
무엇보다 포트번호 안 적고 들어갈수 있어서 너무 편하네요
처음에 SSL 발급 받을 때 자꾸 에러가 발생하여 좀 삽질을 하였습니다.
DNS 어쩌고 저쩌고 해당 도메인이 존재합니다! 라는 에러가 떠서 아 이거 도메인이 이미 있는건가
보다 하고 도메인 이름들을 이것저것 해보았지만 에러가 계속 나는 것을 보고 무언가 잘못되었다고 깨달았네요…
도메인을 발급안받은 상태에서 SSL 인증서 발급할때 도메인 입력하는 부분에서 도메인까지 같이 발급해는줄 알아가지고 삽질을 좀 했습니다………………….
허허허허허허……………
또 삽질까지는 아닌데 파일질라로 keystore파일 가져오려고 했으나 root 권한이 없어 해당 디렉토리에 접근을 못해서 EC2 인스턴스에서 PermitRootLogin을 설정해줬네여
뭐 하나 할때마다 설정해줘야하고 에러나면 에러원인 찾아서 해결해야되니까
삽질을 좀 한것같습니다……..
IaaS가 확실히 이것저것 설정을 해줘야하니까 힘드네요
다하는데 6~7시간 정도 걸린듯.......
(참고로 root 계정으로 이동해야 합니다.)
이 부분 좀 막혔어서, 다른 분들 안 막히시라고 명령어 공유드리면,
sudo -s로 진행하시면 되고
그 외에 설치 명령어 애초에 안 되는 분들은
sudo apt update
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
이렇게 시도해 보세요.