# 설치
sudo apt-get install nginx
# 설치 확인 및 버전 확인
nginx -v
sudo apt-get install letsencrypt
sudo systemctl stop nginx
sudo letsencrypt certonly --standalone -d [도메인명]
cd /etc/nginx/sites-available
sudo vi proxy-setting.conf
client_max_body_size 1G;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name j9b307.p.ssafy.io;
# HTTP에서 HTTPS로 리다이렉션 설정
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name j9b307.p.ssafy.io;
location / {
proxy_pass <http://localhost:3000>;
proxy_redirect <http://localhost:3000/> <http://j9b307.p.ssafy.io/>;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
}
location /api {
proxy_pass <http://localhost:5000/api>;
proxy_redirect <http://localhost:5000/> <http://j9b307.p.ssafy.io/>;
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;
}
ssl_certificate /etc/letsencrypt/live/j9b307.p.ssafy.io/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/j9b307.p.ssafy.io/privkey.pem; # managed by Certbot
# include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
cd /etc/nginx/sites-enabled
vi default
# 아래와 같이 변경

sudo ln -s /etc/nginx/sites-available/proxy-setting.conf /etc/nginx/sites-enabled/proxy-setting
테스트
sudo nginx -t

sudo systemctl restart nginx