기본적으로 EC2에 서버를 배포하면 http://EC2_IP:8080 형식이다.
하지만 프론트 배포/소셜 로그인 사용 시 경로가 https여야 하기에 수정하였다.
.com으로 끝나는거 아니면 대체로 저렴하지만, 서버 도메인이라 무료로 사용하고 싶어서 https://www.duckdns.org/domains 사이트를 활용했다.

duckdns 사이트 사용 방법
1. 회원가입
2. 도메인 이름 설정 -> add domian 클릭
3. IP 수정 -> update ip 클릭
Nginx는 고성능 오픈 소스 웹 서버이자 리버스 프록시, 로드 밸런서, 캐시 서버 역할을 수행하는 소프트웨어다.
SSL인증서를 사용해 웹사이트를 HTTPS로 열 수 있게끔 지원한다.
Nginx는 80, 443 포트에서 요청을 받는 웹 서버 역할이다.
sudo apt update
sudo apt install nginx -y
인증서를 발급받기 위해 cerbot을 설치한다.
sudo apt install certbot python3-certbot-nginx -y
443 포트와 도메인을 연동하여 Nginx를 Spring Boot을 연결한다.
server {
listen 80;
server_name example.duckdns.org; //아까 만든 도메인
location / {
proxy_pass http://localhost:8080;
}
}
Certbot으로 SSL 인증서를 발급 받는다.
sudo certbot --nginx -d git-turl.duckdns.org

이렇게 하면 https 주소가 생성된다.
(인증서 유효 기간은 90일로, 이후 자동 갱신된다.)
자 이제 실행해보면 ~

응답 시간이 오래 걸리는 오류가 난다.
AWS 콘솔에서 EC2 → 인스턴스 → Security → Security Groups → Inbound rules에 https 규칙을 추가해줘야 한다.

http://EC2_IP:8080 에 직접 접근을 위함. 현재는 https를 사용할거라 삭제함) 브라우저
│
http://54.xxx.xxx.xxx:8080 (EC2 IP 8080포트로 직접 접속)
│
Spring Boot 실행
브라우저
│
https://git-turl.duckdns.org (443)
│
Nginx
│
localhost:8080 (배포 서버 기준 로컬 = http://54.xxx.xxx.xxx:8080)
│
Spring Boot
https 경로로도 잘 작동된다
