19 слов | 1 минута
Nginx
Команды
# перезапуск
systemctl reload nginx
LetsEncrypt
https://masterhost.ru/support/cloud/doc/letsencrypt/
# Certificate is saved at: /etc/letsencrypt/live/2dapp.ru/fullchain.pem
# Key is saved at: /etc/letsencrypt/live/2dapp.ru/privkey.pem
# проверить автоматический перевыпуск SSL-сертификата
sudo certbot renew --dry-run
Конфиг
/etc/nginx/sites-enabled/example.conf
Смысл в том, что настраиваем nginx в качестве reverse-proxy для NodeJS
# List of application servers
upstream api {
server localhost:3000;
}
upstream bot {
server localhost:3010;
}
server {
server_name 2dapp.ru;
root /var/www/html;
index index.html index.htm;
error_page 404 /404.html;
location / {
#try_files $uri $uri/ @backend;
try_files $uri $uri/ =404;
}
location /api {
proxy_pass http://api;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /bot {
proxy_pass http://bot;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/2dapp.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/2dapp.ru/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
}
server {
if ($host = 2dapp.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name 2dapp.ru;
return 404; # managed by Certbot
}