본문 바로가기
개발/Finance-Seven 프로젝트

[Finance-Seven 프로젝트] Nginx에 SSL인증서 적용하기

by 코코의 주인 2023. 3. 31.

이번 프로젝트에서 가장 번거로웠던 일이 HTTPS를 적용하는 것이었다. 그 과정을 설명해보려고 한다.

사전 준비

1. 인스턴스의 보안 그룹에서 443 포트가 열려있어야 합니다.

2. ubuntu 버전 20.04에서 진행한 내용입니다. 다른 버전에서는 안 될 수도 있습니다.


1. 가비아에서 도메인 획득

https://event.gabia.com/domain/dotshop/

 

가비아 - 대한민국 도메인 점유율 1위, SHOP 도메인 할인

이런 분들에게 .Shop 을 추천합니다온라인, 오프라인 쇼핑몰을 운영하는 사람자사 브랜드로 기억하기 쉬운 도메인을 만들고 싶은 사람친숙한 도메인으로 사람들에게 다가가고 싶은 사람대상.shop

event.gabia.com

.store, .shop 도메인은 500원에 살 수 있으니 사용하도록 하자.

 

2. AWS Route 53 설정

1) 호스팅 영역 생성

우측 상단의 "호스팅 영역 생성"을 선택한다.

가비아에서 구매한 도메인을 도메인 이름에 입력하고 호스팅 영역을 생성한다.

 

2) 레코드 생성

우측의 "레코드 생성"을 선택한다.

값에 서버가 배포된 인스턴스의 탄력적 ip를 입력하고 레코드를 생성한다.

가비아에서 구매한 도메인의 설정에 가서 네임서버에 Route 53 호스팅 영역의 NS 값 4개를 넣어준다. 기존에 있던 값은 지운다

 

 

3. nginx 설치

1) nginx 설치하기

//패키지 버전 업데이트 & 업그레이드
sudo apt-get update
sudo apt-get upgrade

//nginx 설치
sudo apt install nginx

2) nginx 실행

//nginx 실행
sudo service nginx
//nginx 실행 확인
sudo service nginx status

3) default 파일 수정

//디렉토리 이동
cd /etc/nginx/site-available
//default 파일 수정
sudo vi default

3 - (1) 포트포워딩 진행

server_name 에 가비아에서 구매한 도메인을 입력한다.

443 포트로 들어오는 요청을 8080포트로 포트포워딩함.

 

4) nginx 재시작

sudo service nginx restart

4. Certbot 설치 및 인증서 발급

//certbot 설치
apt-get install python3-certbot-nginx
//인증서 발급
sudo certbot --nginx -d [도메인 주소]

아래 설정들을 진행한다.

1) 이슈가 생겼을 때 연락 받을 이메일 주소 입력

2) 약관 동의에 대한 내용

3) 기존 HTTP 요청을 자동으로 HTTPS로 리다이렉트하고 HTTP 요청을 무시할 것인지 여부 확인

 

5. 인증서 추출하기

//디렉토리 이동
sudo /etc/letsencrypt
//권한 변경
sudo chmod 755 live/
//디렉토리 이동
sudo /etc/letsencrypt/live
//
cd [발급받은 도메인 주소]

2) SSL 인증서를 PKCS12 형식으로 변환

//pem 파일을 p12 형식으로 변환
sudo openssl pkcs12 -export -in fullchain.pem-inkey privkey.pem-out keystore.p12 -name tomcat -CAfile chain.pem -caname root
//keystore.p12 파일 권한 변경
sudo chmod 755 keystore.p12

5. Spring Boot 프로젝트 적용

1) scp 통신을 사용해서 keystore.p12 파일을 서버에서 로컬로 가져옵니다.

2) SpringBoot 프로젝트에 적용

resources 폴더에 keystore.p12 파일을 넣고, application.properties 에 다음과 같이 입력한다.


Shout Out To DongHyos!!!

https://github.com/DongHyos

 

DongHyos - Overview

DongHyos has 24 repositories available. Follow their code on GitHub.

github.com

이 글을 갓동현님께 바칩니다.

댓글