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
}