Atpakaļ uz blogu
Maijs 23, 2026Ceļveži

Kā iestatīt Nginx reverse proxy

Node.js, Docker un citas lietotnes caur Nginx ar WebSocket un SSL.

Kā iestatīt Nginx reverse proxy

Reverse proxy ļauj Nginx pieņemt publisko HTTP/HTTPS un nodot to backendam (piem., Node.js :3000). Standarts produkcijā Hiddence VPS.

Priekšnosacījumi

  • Instalēts un darbojošs Nginx
  • Backend klausās localhost (piem. 127.0.0.1:3000)
  • Domēns norāda uz VPS (SSL)
  • Porti 80 un 443 atvērti ugunsmūrī

Pamata konfigurācija

Izveidojiet vietnes konfigurāciju:

bash
server {
    listen 80;
    server_name app.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        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;
    }
}

sudo nginx -t && sudo systemctl reload nginx

WebSocket atbalsts

Nepieciešams Socket.io, paneļiem un reāllaika lietotnēm:

bash
location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
}

HTTPS ar Certbot

Kad HTTP darbojas, izsniedziet sertifikātu:

bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d app.yourdomain.com

# Certbot will update your server block for SSL automatically

Padomi

  • Straumēšanai — proxy_buffering off
  • client_max_body_size lieliem augšupielādēm
  • Vairāki backendi dažādos apakšdomēnos
  • upstream bloki slodzes balansēšanai
  • 502 kļūda — skatiet /var/log/nginx/error.log