$ sudo apt install nginx
$ apt-get install python3-certbot-nginx
$ certbot certonly --nginx -d <도메인 주소>
nginx.conf 파일을 건드리기보다는 새로운 conf 파일 생성하여 진행
(이름은 마음대로 설정 ex> themint.conf)
$ sudo vim /etc/nginx/sites-available/themint.conf
# /etc/nginx/sites-available/themint.conf
server {
listen 80; #80포트로 받을 때
server_name <도메인 주소>; # 없을경우 localhost
return 301 https://<도메인 주소>$request_uri;
}
server {
listen 443 ssl http2;
server_name <도메인 주소>;
# ssl 인증서 적용하기
ssl_certificate /etc/letsencrypt/live/<도메인 주소>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<도메인 주소>/privkey.pem;
location / {
proxy_pass http://localhost:3000;
}
location /api { # location 이후 특정 url을 처리하는 방법을 정의
proxy_pass http://localhost:8081; # Request에 대해 어디로 리다이렉트하는지
proxy_redirect off;
charset utf-8;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $http_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;
proxy_set_header X-NginX-Proxy true;
}
}
$ sudo ln -s /etc/nginx/sites-available/themint.conf /etc/nginx/sites-enabled
$ sudo nginx -t
$