Systemd este managerul de servicii și inițializare standard pe toate distribuțiile Linux majore: Ubuntu, Debian,…

Cum să configurezi un reverse proxy cu Nginx
Ce este un reverse proxy și la ce folosește. Cum să configurezi un reverse proxy cu Nginx.
Un reverse proxy este un server intermediar care se așază între clienții (browserele) și serverele backend. Când un utilizator accesează site-ul tău, cererea ajunge mai întâi la reverse proxy, care o redirecționează către serverul potrivit, primește răspunsul și îl returnează clientului.
Cum să configurezi un reverse proxy cu Nginx
Această arhitectură aduce multiple beneficii: echilibrarea încărcăturii, caching, terminarea SSL, securitate sporită și posibilitatea de a rula mai multe aplicații pe un singur server VPS cu o singură adresă IP.
De ce Nginx este alegerea ideală pentru reverse proxy
Nginx a fost proiectat de la zero pentru a gestiona eficient mii de conexiuni simultane, folosind o arhitectură asincronă bazată pe evenimente. Comparativ cu Apache folosit ca reverse proxy, Nginx consumă semnificativ mai puțină memorie și procesează cererile mai rapid.
Caracteristicile care fac Nginx ideal pentru acest rol:
- Performanță ridicată – gestionează zeci de mii de conexiuni simultane cu un consum minim de resurse
- Configurare simplă și flexibilă – sintaxa fișierelor de configurare este intuitivă și ușor de întreținut
- Caching integrat – poate stoca în cache răspunsurile backend-ului pentru a reduce încărcarea
- Suport WebSocket – proxy transparent pentru conexiuni WebSocket
- Echilibrarea încărcăturii – distribuie traficul între mai multe servere backend
Instalarea și configurarea de bază a Nginx
Instalarea pe Ubuntu/Debian
Instalează Nginx din repository-ul oficial:
sudo apt update && sudo apt install nginx- Verifică funcționarea cu
sudo systemctl status nginx - Accesează IP-ul serverului în browser – ar trebui să vezi pagina implicită Nginx
Structura fișierelor de configurare
Nginx organizează configurațiile astfel:
/etc/nginx/nginx.conf– configurarea principală globală/etc/nginx/sites-available/– fișierele de configurare pentru fiecare site/etc/nginx/sites-enabled/– link-uri simbolice către site-urile active/etc/nginx/conf.d/– fișiere de configurare suplimentare incluse automat
Configurarea reverse proxy pentru o aplicație web
Scenariul de bază – o singură aplicație
Să presupunem că ai o aplicație Node.js care rulează pe portul 3000. Configurația Nginx pentru a o expune prin portul 80/443:
Creează fișierul /etc/nginx/sites-available/aplicatia-mea cu directivele:
server_name exemplu.ro www.exemplu.ro;– domeniile pentru care se aplicălocation / { proxy_pass http://127.0.0.1:3000; }– redirecționează cererile către aplicație- Header-ele proxy esențiale:
proxy_set_header Host $host;șiproxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;– transmite IP-ul real al clientuluiproxy_set_header X-Forwarded-Proto $scheme;– transmite protocolul original (http/https)
Mai multe aplicații pe același server
Un reverse proxy excelează când ai mai multe aplicații pe același server, fiecare pe portul său:
- WordPress pe portul 8080, accesibil la
blog.exemplu.ro - Aplicație Node.js pe portul 3000, accesibilă la
app.exemplu.ro - API Python Flask pe portul 5000, accesibil la
api.exemplu.ro
Fiecare primește un bloc server separat în Nginx cu server_name și proxy_pass corespunzătoare.
Configurări avansate
Caching la nivel de reverse proxy
Nginx poate stoca în cache răspunsurile backend-ului, reducând dramatic încărcarea:
- Definește zona de cache cu
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache_zona:10m max_size=1g inactive=60m; - Activează cache-ul în blocul location cu
proxy_cache cache_zona; - Setează durata de valabilitate cu
proxy_cache_valid 200 30m;pentru răspunsurile 200 OK - Adaugă header-ul
add_header X-Cache-Status $upstream_cache_status;pentru depanare
Echilibrarea încărcăturii (load balancing)
Dacă aplicația ta rulează pe mai multe servere, Nginx poate distribui traficul:
- Definește grupul de servere backend cu directiva
upstream - Algoritmii disponibili:
round-robin(implicit),least_conn(cel mai puțin ocupat),ip_hash(afinitate pe baza IP-ului) - Marchează servere ca backup cu directiva
backup– vor fi folosite doar când serverele principale sunt indisponibile
Terminarea SSL cu Let’s Encrypt
Nginx gestionează certificatele SSL, iar comunicarea cu backend-ul rămâne pe HTTP necriptat (trafic intern). Instalează Certbot și generează certificate:
sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d exemplu.ro -d www.exemplu.ro- Certbot modifică automat configurația Nginx pentru a activa HTTPS și redirecționarea de la HTTP
Testarea și depanarea configurației
Înainte de a aplica orice modificare, verifică sintaxa configurației:
sudo nginx -t– testează fișierele de configurare fără a reporni serviciulsudo nginx -s reload– aplică modificările fără întreruperea conexiunilor existente- Verifică log-urile:
/var/log/nginx/error.logpentru erori și/var/log/nginx/access.logpentru cereri
Probleme frecvente și soluțiile lor:
- 502 Bad Gateway – aplicația backend nu rulează sau portul este greșit
- 504 Gateway Timeout – backend-ul răspunde prea lent, crește
proxy_read_timeout - Bucle de redirecționare – verifică că
X-Forwarded-Protoeste setat corect
Nginx ca reverse proxy este o componentă fundamentală într-o arhitectură web modernă. Fie că vrei să expui mai multe aplicații pe un singur server, să implementezi caching la nivel de infrastructură sau să echilibrezi traficul între mai multe backend-uri, Nginx oferă flexibilitatea și performanța necesare. Configurarea este simplă, iar beneficiile în materie de securitate și performanță sunt imediate.
Ai nevoie de asistență cu configurarea Nginx pe serverul tău? Echipa noastră de suport te poate ajuta cu implementarea.


