웹 서버 도메인 & HTTPS 설정 최종 정리 이 문서는 api.leekyounghwa.com 도메인을 오라클 클라우드 인스턴스에 연결하고, Nginx 리버스 프록시 및 HTTPS를 적용하는 과정을 요약한 것입니다.
1단계: 도메인 DNS 설정 (A 레코드) 도메인을 구매한 사이트(가비아, GoDaddy 등)의 DNS 관리 페이지에서 아래와 같이 A 레코드를 설정합니다.
호스트(또는 이름): api
유형: A
값(IP 주소): 158.180.66.250 (오라클 클라우드 인스턴스의 공용 IP)
2단계: 서버 방화벽 설정 오라클 클라우드와 인스턴스 자체 방화벽에서 외부 접속을 허용합니다.
2-1. 오라클 클라우드 방화벽 (Security List) 80번 포트 (HTTP):
소스 CIDR: 0.0.0.0/0
IP 프로토콜: TCP
대상 포트 범위: 80
443번 포트 (HTTPS):
소스 CIDR: 0.0.0.0/0
IP 프로토콜: TCP
대상 포트 범위: 443
2-2. 인스턴스 내부 방화벽 (FirewallD) 이전에 설정했던 포트 포워딩 규칙을 제거하고, 방화벽을 재설정합니다.
Bash
# FirewallD 서비스가 실행 중인지 확인하고, 실행 중이 아니라면 시작
sudo systemctl status firewalld sudo systemctl start firewalld sudo systemctl enable firewalld
# 기존 포트 포워딩 규칙 제거 (80 -> 8787)
sudo firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=8787 --permanent
# 방화벽 설정 다시 불러오기
sudo firewall-cmd --reload 3단계: Nginx 설치 및 리버스 프록시 설정 SSH로 인스턴스에 접속하여 Nginx를 설치하고, 80번 포트로 들어온 요청을 8080 포트로 전달하도록 설정합니다.
Bash
# Nginx 설치
sudo apt update sudo apt install nginx
# Nginx 설정 파일 생성 및 편집
sudo nano /etc/nginx/sites-available/api.leekyounghwa.com 파일에 아래 내용 붙여넣기 (Ctrl + X, Y, Enter로 저장)
Nginx
server { listen 80; listen [::]:80; server_name api.leekyounghwa.com www.api.leekyounghwa.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
} Bash
# 설정 파일 활성화 및 Nginx 재시작
sudo ln -s /etc/nginx/sites-available/api.leekyounghwa.com /etc/nginx/sites-enabled/ sudo unlink /etc/nginx/sites-enabled/default sudo nginx -t sudo systemctl restart nginx 4단계: HTTPS(SSL) 적용 Certbot을 사용해 무료 SSL 인증서를 발급받고 HTTPS를 적용합니다.
Bash
# Certbot 설치
sudo apt install certbot python3-certbot-nginx
# Certbot 실행 (자동으로 Nginx 설정 변경 및 재시작)
sudo certbot --nginx -d api.leekyounghwa.com 이메일 주소 입력
약관 동의
HTTPS 리디렉션 옵션 선택 (보통 2: Redirect 선택)
최종 확인 모든 과정이 완료되면, 이제 포트 번호 없이 https://api.leekyounghwa.com/swagger-ui/index.html로 접속할 수 있습니다. http로 접속해도 https로 자동 리디렉션됩니다.
← Docker 설치 로컬 마리아디비 설치 →