"도메인을 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 앱이 보이면 성공
'개발' 카테고리의 다른 글
[DuckDNS] 무료 도메인 등록 (2) | 2025.08.07 |
---|---|
[Oracle Cloud] HTTP 접속 허용 설정 (80번 포트) (0) | 2025.08.06 |
[Docker] 이미지 생성 및 테스트 (1) | 2025.08.04 |
[Github Action] CI/CD 구현 (1) | 2025.08.04 |
[MobaXterm] SSH 접속 + Docker 이미지 서버에 배포 (0) | 2025.07.26 |