Skip to content

[Document] SSL 적용하는 법 #122

@mr8356

Description

@mr8356

어떤 기능인가요?

appstore 베포를 위해서 도메인 등록 + SSL적용 + http, 80, 8080 포트도 https로 포트포워딩(nginx)

전체 구축 과정 요약

1. 도메인 등록 및 DNS 설정

  • Freenom 등에서 무료(또는 유료) 도메인 등록
  • 도메인 관리 콘솔에서 A 레코드에 EC2 퍼블릭 IP 연결
  • DNS 전파 완료까지 대기

2. SSL 인증서 발급 및 설정

  • EC2 서버에 Certbot 등으로 Let's Encrypt SSL 인증서 발급
  • 인증서 파일(/etc/letsencrypt/live/도메인/) 생성
  • 인증서 자동 갱신(cron 등) 설정 권장

3. Docker 볼륨 마운트

  • 인증서 파일을 Docker 컨테이너에 볼륨 마운트
    (예: -v /etc/letsencrypt:/etc/letsencrypt:ro)
  • Spring Boot 또는 Nginx 컨테이너에서 인증서 파일 경로가 일치해야 함

4. Nginx 리버스 프록시 및 SSL 설정

  • Nginx 설치(호스트 또는 컨테이너)
  • 80 포트(HTTP) → 443 포트(HTTPS) 리다이렉트 설정
  • 443 포트에서 SSL 인증서 적용, 내부적으로 Spring Boot(8080)으로 프록시
  • 인증서 경로, 프록시 대상, 헤더 등 Nginx 설정 파일에 반영

전체 흐름 요약 표

단계 주요 작업
도메인 등록 Freenom 등에서 도메인 발급
DNS 설정 도메인 → EC2 퍼블릭 IP로 A레코드 연결
SSL 인증서 발급 Certbot 등으로 인증서 발급, 자동 갱신 설정
Docker 볼륨 마운트 인증서 파일을 컨테이너에 마운트
Nginx 설정 80→443 리다이렉트, SSL 적용, 프록시 설정

정리: 실질적으로 가능한 조합

조합 가능 여부 설명
무료 도메인 + Cloudflare SSL 가능 가장 간편, 인증서 관리 불필요, Cloudflare가 SSL 처리
무료 하위도메인(Netlify) + EC2 SSL 직접 가능 Netlify에서 프록시/리디렉션, EC2에서 SSL 인증서 직접 발급
무료 하위도메인(Netlify) + Cloudflare SSL 불가능 Netlify 하위도메인은 Cloudflare 등 외부 SSL 적용 불가
유료 도메인 + Cloudflare/Let's Encrypt SSL 가능 무료 도메인과 동일 방식, 더 높은 신뢰성
AWS ACM + ALB 가능 AWS 인프라 활용, 대규모 서비스에 적합

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions