자세한 설명은 참조를 보시는게 좋습니다.
Step 1. 도메인 구매 후 ec2 연결
가비아에서 이벤트로 550원에 tenwonmoa.shop 도메인 구매
DNS 설정 후 빠르면 10분이내 도메인과 ec2가 연결 됨

Step 2. nginx + springboot 연결
ec2 nginx 설치
sudo apt install nginx -y
nginx 폴더 확인
cd /etc/nginx ll -al

nginx.conf
파일을 통해 nginx 구성을 할 수 있다.nginx.conf
cat nginx.conf

http 블록 안에 include를 확인해 다음 sites-enabled 디렉터리 안에 파일들을 읽는 것을 알 수 있다.
/etc/nginx/sites-available/
: 사이트별로 서버 블록을 저장할 수 있는 디렉터리서버 블록 생성
cd sites-available sudo vi /etc/nginx/sites-available/{domain} # 본인의 도메인 이름 '.com', '.co.kr' 등이 포함되야함

원래는 default 라는 파일이 있는데, tenwonmoa.com과 같이 있으면 에러가 발생해 default를 지움
내용은 다음처럼 작성한다
내용 작성 가이드
server { # server 블록 listen 80; server_name {domain} www.{domain}; access_log /var/log/nginx/proxy/access.log; error_log /var/log/nginx/proxy/error.log; location / { # location 블록 include /etc/nginx/proxy_params; proxy_pass http://{퍼블릭IP주소}:8080; # reverse proxy의 기능 } }

proxy_pass를 통해 외부 요청(80 포트)을 스프링 부트 앱으로 이동시킨다.
새로 생성한 tenwonmoa.com 파일 활성화
sites-available
디렉터리로부터 sites-enabled
디렉터리에 대한 링크 생성으로 활성화sudo ln -s /etc/nginx/sites-available/tenwonmoa.com /etc/nginx/sites-enabled/
/etc/nginx/sites-enabled
: 활성화된 사이트별 서버 블록이 저장되는 디렉토리
nginx 재시작
sudo nginx -t # nginx 구문 오류 테스트 sudo service nginx reload # nginx 재시작
물론 ec2 80 포트 열어줘야 한다.

Oauth2 승인된 리디렉션 URI 등록
추가한 도메인에 대해서도 oauth 인증이 되도록 URI를 추가해준다.

Step 3. HTTPS 연결
Certbot 설치
sudo apt update sudo apt upgrade sudo add-apt-repository ppa:certbot/certbot sudo apt install python3-certbot-nginx
SSL 인증서 받기
아래 명령어를 실행한다.
-d 다음에 도메인 이름을 적어야한다.
도메인 이름은 nginx 서버 블록을 만들 때 작성한 걸 쓰면 된다.
sudo certbot --nginx -d tenwonmoa.shop -d www.tenwonmoa.shop

다음과 같이 email을 입력하라고 나오는데 입력해준다.
이메일 주소 입력 아래에는 이메일로 안내를 받을지 결정해준다.

모든 http 요청을 https로 리다이렉트 할 지도 설정해준다.

nginx 재시작
sudo nginx -t # nginx 구문 오류 테스트 sudo service nginx reload # nginx 재시작
nginx 서버 블록을 확인해 보면 아래에 https 관련 설정이 추가가 된다.

ec2의 HTTPS 포트도 열어줘야한다.

Oauth2 승인된 리디렉션 URI 등록
https 로 시작하는 도메인도 추가해줘야한다.

참조