Service
home
WOW Onboarding
home

HTTPS 대소동

https://43.203.225.31.nip.io

1. Certbot 설치 및 HTTPS 인증서 발급

sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d 123.456.78.90.nip.io sudo certbot renew --dry-run # 인증서 자동 갱신
JSON
복사
Let’s Encrypt의 인증서는 90일동안 유효하므로 Certbot이 자동으로 갱신할 수 있도록 함

Nginx 설정 확인

sudo nano /etc/nginx/sites-available/default
server { listen 80; # HTTP 80 포트에서 들어오는 요청을 수신 server_name 123.456.78.90.nip.io; # 이 server 블록이 처리할 도메인 이름 지정 return 301 https://$host$request_uri; # 모든 요청을 HTTPS로 redirection } server { listen 443 ssl; # 포트 443에서 SSL/TLS를 사용하여 HTTPS요청을 수신하도록 설정 server_name 123.456.78.90.nip.io; # 이 server 블록이 처리할 도메인 이름 지정 ssl_certificate /etc/letsencrypt/live/123.456.78.90.nip.io/fullchain.pem; # SSL 인증서 경로 ssl_certificate_key /etc/letsencrypt/live/123.456.78.90.nip.io/privkey.pem; # SSL 인증서 key 경로 include /etc/letsencrypt/options-ssl-nginx.conf; # Let's Encrypt에서 제공하는 기본 SSL 설정을 포함시킴 ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # DH(Diffle-Hellman) 파라미터 파일 경로 (보안 강화용) location / { proxy_pass http://localhost:8080; # 모든 요청을 localhost:8080으로 프록시 proxy_set_header Host $host; # 원본 요청의 HOST header를 프록시 요청에 설정 proxy_set_header X-Real-IP $remote_addr; # 원본 클라이언트의 IP 주소를 프록시 요청에 설정 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 원본 클라이언트의 IP 주소 목록을 프록시 요청에 설정 proxy_set_header X-Forwarded-Proto $scheme; # 원본 요청의 프로토콜(HTTP/HTTPS)를 프록시 요청에 설정 } }
JSON
복사
caddy랑 nginx랑 포트 충돌나서 하나를 stop해야만 다른 게 실행됨
고치긴 했는데 서버 접속하니까 502에러 떠서 포기
이 방법으로 https 연결
하면서 nginx, gunicorn에러가 나긴 했는데 조금씩 계속 수정해서 어디를 수정했는지 쓰고싶은데 까먹었어용,,,
gunicorn이 백그라운드에서 실행되어야해서 실행되게 수정함
Caddy 충돌 고치느라 한참 고쳤는데 버리고 certbot쓰니까 꽤 금방 됨… 진작 버릴 걸22
다만.. 기존 ip로 접속하면 예쁘게 되는데 저 페이지는 왜 저렇게 표시되는 걸까…