728x90
https 로 접속하기 위해서는 도메인과 ssl 인증서가 필요하다. 물론 로컬 https 디버깅 테스트를 위한 설정도 있지만 여기에서는 넘어가도록 한다.
ssl 인증서는 let's encrypt 에서 무료로 발급받을 수 있다.
Let's Encrypt
letsencrypt.org
3개월 마다 갱신하는것 잊지 말자 (crontab에 등록해두자)
ssl 인증서는 받았다 치고, nginx 환경에서 3000번 웹서버로 리다이렉트 해야한다고 가정할때 다음과 같이 설정하면 된다.
# 443 포트로 접근시 ssl을 적용한 뒤 3000포트로 리다이렉트 (express 나 django)
server {
server_name 서버주소;
location / {
proxy_pass http://127.0.0.1:3000;
}
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/경로/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/경로/privkey.pem;
...
}
# 80 포트로 접근시 443 포트로 리다이렉트
server {
listen 80;
server_name 서버주소;
return 301 https://$host$request_uri;
}
코드를 설명하자면 주요 포인트는 다음과 같다.
- server 80
- 80포트(http)로 접근되는 요청을 443포트(https)로 리다이렉트 한다.
- server 443
- 443포트는 https 요청을 받아서 3000번 웹서버로 리다이렉트 해주는 기능을 한다.
- SSL 인증서 부분은 미리 발급받은 인증서의 경로를 명시해야 하는데 대부분 etc 저쪽 찾아보면 된다. (경로라고 써져있는 저 부분만 바꾸면 됨)
'개발 > Devops' 카테고리의 다른 글
ubuntu 특정 포트 접근 허용하고 / 되돌리기 (iptables) (0) | 2024.01.17 |
---|---|
Ubuntu 우분투 Crontab 설치하기 (0) | 2023.03.06 |
Ubuntu 우분투 특정 포트 열어주기,서버 열고 접속 안될때 (0) | 2023.03.06 |