Contactează-ne

info@serverion.com

Sunați-ne

+1 (302) 380 3902

Ghid complet pentru construirea unui proxy invers Nginx securizat

Ghid complet pentru construirea unui proxy invers Nginx securizat

Crearea unui proxy invers sigur, fiabil și scalabil este crucială pentru companiile și profesioniștii IT care gestionează site-uri web cu trafic intens sau aplicații complexe. Nginx, un server web open-source și un proxy invers, este o soluție puternică pentru rutarea, optimizarea și securizarea traficului către serviciile backend. În acest ghid, vom parcurge procesul de configurare a unui proxy invers robust folosind Nginx pe Ubuntu 24.04, acoperind pași critici precum criptarea TLS, limitarea ratei și integrarea cu Cloudflare.

Dacă gestionați site-uri web la nivel de întreprindere, platforme de comerț electronic sau servere media, acest ghid vă va ajuta să îmbunătățiți performanța, să asigurați funcționarea continuă și să vă protejați infrastructura de vulnerabilități.

Ce este un proxy invers Nginx?

Un proxy invers Nginx acționează ca un server intermediar între clienți și serviciile backend. Acesta redirecționează cererile clienților către serverul backend corespunzător, optimizând distribuția încărcării, sporind securitatea și activând funcții precum caching, terminarea SSL și filtrarea traficului. Această configurație este utilă în special pentru găzduirea serverelor media, a aplicațiilor multi-site și a serviciilor în spatele firewall-urilor.

De ce ai nevoie de un proxy invers

Un proxy invers oferă mai multe beneficii cheie:

  • Securitate sporităAscunde adresele IP ale serverelor backend și activează criptarea prin TLS/SSL.
  • Echilibrarea sarciniiDistribuie uniform traficul pe mai multe servere backend.
  • OptimizareReduce latența și îmbunătățește eficiența resurselor.
  • scalabilitateFacilitează gestionarea scenariilor cu trafic intens.
  • Ușurință în gestionareSimplifică configurarea mai multor servicii backend în spatele unui domeniu unificat.

În acest tutorial, vom demonstra cum să:

  • Configurați Nginx ca proxy invers.
  • Securizați-vă configurația cu certificatele Let's Encrypt TLS.
  • Configurați optimizări avansate, cum ar fi limitarea ratei și redirecționarea cererilor.
  • Integrați Cloudflare pentru a ocoli restricțiile de port ale furnizorului de servicii de internet.

Pasul 1: Instalarea Nginx și Certbot pe Ubuntu 24.04

Actualizați-vă sistemul

Înainte de a instala orice software, asigurați-vă că sistemul este actualizat:

actualizare sudo apt și upgrade sudo apt 

Instalați Nginx și Certbot

Folosește următoarele comenzi pentru a instala Nginx și Certbot cu pluginul Nginx:

sudo apt instalează nginx -y sudo apt instalează certbot python3-certbot-nginx -y 

Verificați instalarea

Confirmați că Nginx rulează:

sudo systemctl status nginx 

Pentru a testa accesul, determinați adresa IP a serverului:

IP-ul 

Accesați adresa IP într-un browser. Dacă reușiți, veți vedea pagina de bun venit implicită Nginx.

Pasul 2: Configurarea regulilor firewall-ului

Activați Firewall-ul necomplicat (UFW)

UFW vă permite să gestionați cu ușurință regulile firewall-ului:

sudo ufw allow 'Nginx Full' sudo ufw allow OpenSSH sudo ufw enable 

Verificați starea firewall-ului pentru a vă asigura că porturile corecte sunt deschise:

stare sudo ufw 

Pasul 3: Configurarea proxy-ului Nginx

Creați fișiere de configurare personalizate

Pentru o flexibilitate și o securitate sporite, utilizați fișiere snippet pentru a stoca configurații specifice. Creați următoarele fișiere:

  1. Anteturi de securitate:
    sudo nano /etc/nginx/snippets/security-headers.conf 
    Definiți anteturile de securitate pentru a îmbunătăți protecția:
    add_header Opțiuni-X-Frame "SAMEORIGIN"; add_header Opțiuni-Type-Content-X "nosniff"; add_header Protecție-X-XSS "1; mod=block"; 
  2. Setări proxy:
    sudo nano /etc/nginx/snippets/proxy.conf 
    Optimizați fluxurile lungi și preveniți răspunsurile lente:
    proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; 
  3. Limite de tarif:
    sudo nano /etc/nginx/snippets/rate-limit.conf 
    Atenuarea solicitărilor excesive:
    limit_req_zone $binary_remote_addr zone=mylimit:10m rată=10r/s; 

Includeți fragmente în configurația principală

Editați configurația principală Nginx:

sudo nano /etc/nginx/nginx.conf 

Adăugați următoarele sub http bloc:

include /etc/nginx/snippets/*.conf; 

Reporniți Nginx pentru a aplica modificările:

sudo systemctl reîncărcare nginx 

Pasul 4: Configurarea proxy-ului invers pentru un serviciu backend

Creați o gazdă virtuală

Creați un fișier de configurare pentru serviciul backend:

sudo nano /etc/nginx/sites-available/jellyfin 

Exemplu de configurație pentru un server media Jellyfin:

server { ascultă 80; nume_server jelly.domeniul_dumneavoastră.com; locație / { proxy_pass http://10.10.0.112:8096; include /etc/nginx/snippets/proxy.conf; } } 

Activați site-ul creând o legătură simbolică:

sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/ 

Testează și reîncarcă Nginx:

sudo nginx -t sudo systemctl reload nginx 

Pasul 5: Securizarea domeniului dvs. cu Let's Encrypt TLS

Pentru a vă securiza domeniul, utilizați Let's Encrypt pentru a emite certificate gratuite:

sudo certbot --nginx -d jelly.yourdomain.com 

Certbot configurează automat SSL în fișierul site-ului Nginx. Pentru a vă asigura că certificatele sunt reînnoite automat, verificați dacă temporizatorul systemd este activ:

sudo systemctl cronometre de listă | grep certbot 

Pasul 6: Integrarea Cloudflare pentru securitate suplimentară și ocolirea porturilor ISP

Instalați Cloudflared

Cloudflared creează un tunel securizat pentru a direcționa traficul prin Cloudflare, ocolind restricțiile ISP-ului pe porturile 80 și 443:

  1. Descărcați .deb pachet de pe pagina GitHub a Cloudflare.
  2. Instalați pachetul:
    sudo dpkg -i cloudflared-version.deb 

Configurați un tunel

Autentificați-vă cu contul dvs. Cloudflare:

autentificare tunel Cloudflared 

Creați un tunel nou:

tunel cloudflared creează tunelul-meu 

Editați fișierul de configurare Cloudflare:

sudo nano /etc/cloudflared/config.yml 

Exemplu de configurație:

tunel: fișierul-acreditărilor-tunelului-meu: /home/user/.cloudflared/tunnelul-meu.json ingress: - nume-gazdă: jelly.domeniul-dumneavoastră.com serviciu: http://localhost:8096 - serviciu: http_status:404 

Porniți și activați serviciul de tunel:

sudo systemctl activează cloudflared sudo systemctl pornește cloudflared 

Recomandări cheie

  • Proxy invers NginxEsențial pentru rutarea sigură a traficului și optimizarea serviciilor backend.
  • Criptare TLSFolosește Let's Encrypt pentru a-ți securiza domeniile cu certificate SSL gratuite.
  • Reguli de firewallDeschideți porturile necesare pentru HTTP (80), HTTPS (443) și SSH (22).
  • Optimizare de securitateImplementați anteturi și limitarea ratei pentru a preveni atacurile.
  • Integrare CloudflareFolosește tuneluri Cloudflared pentru găzduire sigură și prietenoasă cu furnizorii de servicii de internet.
  • AutomatizareCronometrele Systemd asigură reînnoirea automată a certificatelor SSL.

Concluzie

Configurarea unui proxy invers Nginx securizat necesită atenție la detalii și o configurare atentă, dar recompensele merită efortul. Indiferent dacă găzduiți servere media precum Jellyfin sau gestionați aplicații enterprise, acest ghid vă oferă instrumentele și cunoștințele necesare pentru a construi un mediu extrem de sigur și eficient. Cu funcții precum TLS, tuneluri Cloudflare și optimizări avansate, infrastructura dvs. este pregătită pentru cerințele moderne.

Sursă: „Nu vă mai expuneți aplicațiile! Construiți un proxy invers Nginx securizat!” – KeepItTechie, YouTube, 19 august 2025 – https://www.youtube.com/watch?v=MzbhS2S7H_g

Utilizare: Încorporat pentru referință. Citate scurte folosite pentru comentarii/recenzie.

Postări de blog conexe

ro_RO