본문 바로가기

개발

[Oracle Cloud] HTTPS 접속 허용 설정 (443번 포트)

"도메인을 HTTPS로 서비스 해보자 Nginx Cerbot 사용 "


Cerbot 설치 및 인증서 발급

= Nginx가 자동으로 HTTPS 설정하고 인증서까지 완성해준다
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d 도메인

Successfully received certificate. 와 같은 내용이 뜬다면 성공


https 확인

이제 https://주소 에 접속했을 때 아래처럼 주소 왼쪽에 자물쇠 같은 것이 생기는걸 볼 수 있다.

 

edge의 경우

chrome의 경우


+) Docker container를 nginx proxy로 연결

외부에서 https://도메인 으로 접속 시
내부 Docker 컨테이너의 localhost:8888 (원하는 포트) 로 트래픽을 전달(proxy) 해보자.

 

Nginx 설정 파일을 연다

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

 

아래 내용으로 싹다 교체한 후 Ctrl + X → Y → Enter 로 저장

# HTTP 요청을 HTTPS로 리디렉션
server {
    listen 80;
    listen [::]:80;
    server_name 도메인;

    return 301 https://$host$request_uri;
}

# HTTPS 요청을 Docker 컨테이너 포트로 프록시
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name 도메인;

    ssl_certificate /etc/letsencrypt/live/도메인/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/도메인/privkey.pem;

    location / {
        proxy_pass http://localhost:포트번호;
        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;
    }
}

 

nginx 적용

# 설정 문법 검사
sudo nginx -t

# 적용
sudo systemctl reload nginx
 
 

브라우저에서 https://도메인 접속 시 → Docker 앱이 보이면 성공