Grįžti į tinklaraštį
Gegužė 23, 2026Vadovai

Kaip nustatyti Nginx reverse proxy

Node.js, Docker ir kitos programos per Nginx su WebSocket ir SSL.

Kaip nustatyti Nginx reverse proxy

Reverse proxy leidžia Nginx priimti viešą HTTP/HTTPS ir perduoti backendui (pvz., Node.js :3000). Standartas produkcijoje Hiddence VPS.

Reikalavimai

  • Įdiegtas ir veikiantis Nginx
  • Backend klauso localhost (pvz. 127.0.0.1:3000)
  • Domenas rodo į VPS (SSL)
  • Prievadai 80 ir 443 atidaryti ugniasienėje

Pagrindinė konfigūracija

Sukurkite svetainės konfigūraciją:

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 palaikymas

Reikalinga Socket.io, panelėms ir realaus laiko programoms:

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 su Certbot

Kai HTTP veikia, išduokite sertifikatą:

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

Patarimai

  • Srautui — proxy_buffering off
  • client_max_body_size dideliems įkėlimams
  • Keli backendai skirtinguose subdomenuose
  • upstream blokai apkrovos balansavimui
  • 502 klaida — žiūrėkite /var/log/nginx/error.log