Spring Boot HTTPS로 배포하기 - CertBot, NginX

2025. 9. 22. 16:50·Web/배포

HTTPS(HTTP Secure)는 기존 HTTP에 SSL/TLS 암호화를 적용한 보안 프로토콜이다.

HTTPS는 데이터를 암호화하여 네트워크 상에서 가로채거나 변경하는 것을 방지하고

인증서를 통해 서버의 신뢰성을 검증할 수 있기 때문에

데이터 유출, 중간자 공격, 피싱 공격 등 다양한 보안 위협으로부터 사용자를 보호한다.

 

그리고 프론트엔드를 Vercel에 배포하면 기본적으로 HTTPS로 서비스된다.

하지만 AWS EC2에 배포한 백엔드가 HTTP로만 제공된다면

HTTPS 환경의 프론트에서 HTTP API를 호출할 때

브라우저가 이를 혼합 콘텐츠(Mixed Content)로 간주하여 요청을 차단하여

네트워크 통신이 이루어지지 않는 문제가 발생한다.

 

따라서 이러한 문제를 해결하고 안전한 통신을 보장하기 위해 
백엔드 서버 또한 HTTPS로 배포하는 것이 필수적이다.

 

AWS EC2 보안그룹 설정

 

인바운드 규칙에 HTTP, HTTPS 포트를 허용해주었다.

 

환경 세팅

- nginx 설치

웹 서버 & 리버스 프록시 서버 역할

sudo apt update
sudo apt install -y nginx

 

- Certbot 설치

무료 SSL 인증서 발급/갱신 도구 (Let's Encrypt 제공)

sudo apt install -y certbot python3-certbot-nginx

 

도메인 연결

HTTPS 설정을 위해서는 도메인이 필요하다.

나는 내도메인.한국에서 무료로 도메인을 사용하였다. (https://xn--220b31d95hq8o.xn--3e0b707e/)

 

원하는 도메인을 등록한 뒤 DNS 설정에서 AWS EC2 퍼블릭 IP를 연결해주었다.

IP연결(A)에 EC2 퍼블릭 IP주소를 넣어주면 된다.

 

nginx 설정

 - nginx 설정 파일 설정

sudo nano /etc/nginx/sites-available/default
server {

        server_name www.mozi.o-r.kr;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                proxy_pass http://프라이빗주소:8080;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
        }
}

 

- 인증서 발급 (이메일 입력, 모두 yes)

sudo certbot --nginx -d {도메인}

 

- nginx 설정 테스트 후 재시작

sudo nginx -t
sudo systemctl reload nginx

 


잘 뜬다 !!!!!!! 완료 🎉 🎉

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'Web > 배포' 카테고리의 다른 글

Github Actions과 Docker을 활용한 CI/CD 구축  (0) 2025.09.23
[AWS] Spring Boot 프로젝트 배포하기 - EC2, RDS, S3  (0) 2025.09.16
[AWS] EC2 배포 - 스프링부트 + 리액트 프로젝트 배포하기  (1) 2024.10.18
'Web/배포' 카테고리의 다른 글
  • Github Actions과 Docker을 활용한 CI/CD 구축
  • [AWS] Spring Boot 프로젝트 배포하기 - EC2, RDS, S3
  • [AWS] EC2 배포 - 스프링부트 + 리액트 프로젝트 배포하기
도탱
도탱
ღ 성장하는 백엔드 개발자 ღ
  • 도탱
    도탱이의 코딩흔적
    도탱
  • 전체
    오늘
    어제
    • 분류 전체보기 (43)
      • Programing Language (4)
        • Python (3)
        • JAVA (1)
      • Web (28)
        • Spring (24)
        • 배포 (4)
      • 알고리즘 (2)
      • 자격증 (2)
      • 회고 (2)
      • 트러블슈팅 (5)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
도탱
Spring Boot HTTPS로 배포하기 - CertBot, NginX
상단으로

티스토리툴바