Cum să faceți serverul Nginx să asculte pe mai multe porturi ⋆ ALexHost SRL

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills
10.12.2024

Cum să faceți serverul Nginx să asculte pe mai multe porturi

Nginx este un server web versatil și un proxy invers care poate fi configurat să asculte pe mai multe porturi, ceea ce îl face potrivit pentru a servi diferite site-uri web, aplicații sau servicii de pe același server. Configurarea Nginx pentru a asculta pe porturi multiple poate fi utilă pentru a servi conținut diferit pe porturi diferite sau pentru a sprijini servicii precum HTTP (portul 80) și HTTPS (portul 443). Acest ghid vă va arăta cum să configurați Nginx pentru a asculta pe mai multe porturi.

Condiții prealabile

  • Un server cu Nginx instalat și care rulează.
  • Acces Root sau sudo pentru a modifica fișierele de configurare Nginx.
  • O înțelegere de bază a fișierelor de configurare Nginx (nginx.conf și fișierele de configurare specifice site-ului).

Prezentare generală a configurației de bază Nginx

Fișierele de configurare ale Nginx sunt localizate de obicei în /etc/nginx/nginx.conf sau în /etc/nginx/sites-available/ pentru configurațiile specifice site-ului, în funcție de distribuția Linux. Principala directivă pentru ascultarea pe un port este listen, care specifică adresa IP și portul pe care Nginx trebuie să asculte.

Pasul 1: Deschideți fișierul de configurare Nginx

Pentru a configura Nginx să asculte pe mai multe porturi, trebuie să editați fișierul de configurare Nginx. Deschideți fișierul utilizând editorul de text preferat:

sudo nano /etc/nginx/nginx.conf

Sau, dacă editați configurația unui site specific:

sudo nano /etc/nginx/sites-available/example.conf

Pasul 2: Adăugarea mai multor directive de ascultare

Pentru ca Nginx să asculte pe mai multe porturi, puteți adăuga mai multe directive listen în cadrul unui bloc de server. Iată un exemplu de bloc server care ascultă pe porturile 80 și 8080:

server {
ascultați 80;
listen 8080;
server_name example.com;
root /var/www/html;
index index.html;
locație / {
try_files $uri $uri/ =404;
}
}

În această configurație:

  • listen 80; instruiește Nginx să asculte solicitările HTTP pe portul 80.
  • listen 8080; instruiește Nginx să asculte solicitările HTTP pe portul 8080.

Aceasta înseamnă că solicitările făcute către http://example.com:80 și http://example.com:8080 vor fi gestionate de acest bloc de server.

Pasul 3: Configurarea HTTPS cu porturi multiple

Dacă doriți să activați HTTPS pe un port diferit (de exemplu, 8443), îl puteți configura astfel:

server {
listen 443 ssl;
listen 8443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;root /var/www/html;
index index.html;
locație / {
try_files $uri $uri/ =404;
}
}

În această configurație:

  • listen 443 ssl; face ca Nginx să asculte cererile HTTPS pe portul implicit 443.
  • listen 8443 ssl; face ca Nginx să asculte cererile HTTPS pe portul 8443.
  • Căile de acces la certificatul și cheia SSL (ssl_certificate și ssl_certificate_key) sunt utilizate pentru a activa HTTPS.

Pasul 4: Verificarea configurației

După efectuarea modificărilor, este esențial să verificați configurația Nginx pentru erori de sintaxă înainte de a aplica modificările. Rulați:

sudo nginx -t

Dacă ieșirea spune că sintaxa este ok, configurația este corectă.

Pasul 5: Reporniți Nginx

Pentru a aplica modificările, reporniți Nginx:

sudo systemctl restart nginx

Sau, dacă sistemul dvs. utilizează serviciul:

sudo service nginx restart

Pasul 6: Testarea configurației

Pentru a verifica dacă Nginx este ascultat corect pe mai multe porturi:

  1. Verificați porturile de ascultare: Utilizați netstat sau ss pentru a verifica dacă Nginx este ascultat pe porturile specificate:
    sudo netstat -tuln | grep nginx

    sau:
    sudo ss -tuln | grep nginx

    Aceasta va afișa o listă a porturilor pe care Nginx le ascultă. Ar trebui să vedeți intrări pentru porturile 80, 8080, 443 și 8443.
  2. Accesați serverul: Deschideți browserul web și încercați să accesați serverul utilizând diferite porturi:
    • http://example.com
    • http://example.com:8080
    • https://example.com
    • https://example.com:8443

    Ar trebui să vedeți același conținut servit dacă configurația a fost făcută corect.

Advanced: Setarea unui conținut diferit pentru porturi diferite

Puteți configura conținut diferit care să fie servit în funcție de port. De exemplu, servirea unor directoare rădăcină diferite pentru fiecare port:

server {
listen 80;
server_name example.com;
rădăcină /var/www/html80;
index index.html; locație / {
try_files $uri $uri/ =404;
}
}

server {
listen 8080;
server_name example.com;
root /var/www/html8080;
index index.html; locație / {
try_files $uri $uri/ =404;
}
}

În acest exemplu:

  • Cererile către http://example.com (portul 80) vor servi conținut din /var/www/html80.
  • Solicitările către http://example.com:8080 vor servi conținut din /var/www/html8080.

Concluzii

Configurarea Nginx pentru a asculta pe mai multe porturi vă permite să serviți diferite servicii, să suportați configurații personalizate sau să oferiți flexibilitate în arhitectura rețelei dvs. Fie că aveți nevoie ca Nginx să gestioneze mai multe porturi HTTP și HTTPS sau să direcționeze porturi diferite către conținut diferit, directiva listen a Nginx facilitează configurarea. Asigurați-vă doar că verificați configurațiile, reporniți Nginx și testați fiecare port pentru a vă asigura că totul funcționează conform așteptărilor.

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills