Wie man Nginx Server auf mehreren Ports lauschen lässt ⋆ ALexHost SRL

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills
10.12.2024

Wie man Nginx Server auf mehreren Ports lauschen lässt

Nginx ist ein vielseitiger Webserver und Reverse-Proxy, der so konfiguriert werden kann, dass er auf mehreren Ports lauscht, wodurch er sich für die Bereitstellung verschiedener Websites, Anwendungen oder Dienste vom selben Server aus eignet. Nginx so zu konfigurieren, dass es auf mehreren Ports lauscht, kann nützlich sein, um verschiedene Inhalte auf verschiedenen Ports bereitzustellen oder um Dienste wie HTTP (Port 80) und HTTPS (Port 443) zu unterstützen. Diese Anleitung zeigt Ihnen, wie Sie Nginx so konfigurieren, dass es auf mehreren Ports lauscht.

Voraussetzungen

  • Ein Server mit installiertem und laufendem Nginx.
  • Root- oder sudo-Zugriff, um Nginx-Konfigurationsdateien zu ändern.
  • Grundlegendes Verständnis der Nginx-Konfigurationsdateien (nginx.conf und Site-spezifische Konfigurationsdateien).

Überblick über die grundlegende Nginx-Konfiguration

Die Konfigurationsdateien von Nginx befinden sich je nach Linux-Distribution typischerweise in /etc/nginx/nginx.conf oder in /etc/nginx/sites-available/ für spezifische Site-Konfigurationen. Die wichtigste Direktive für das Lauschen auf einem Port ist listen, die die IP-Adresse und den Port angibt, auf die Nginx hören soll.

Schritt 1: Öffnen der Nginx-Konfigurationsdatei

Um Nginx so zu konfigurieren, dass es an mehreren Ports lauscht, müssen Sie die Nginx-Konfigurationsdatei bearbeiten. Öffnen Sie die Datei mit Ihrem bevorzugten Texteditor:

sudo nano /etc/nginx/nginx.conf

Oder, wenn Sie eine bestimmte Site-Konfiguration bearbeiten:

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

Schritt 2: Hinzufügen mehrerer Listen-Direktiven

Um Nginx dazu zu bringen, auf mehreren Ports zu lauschen, können Sie mehrere Listen-Direktiven innerhalb eines Serverblocks hinzufügen. Hier ist ein Beispiel für einen Server-Block, der auf den Ports 80 und 8080 lauscht:

server {
lauschen 80;
lauschen 8080;
server_name example.com;
root /var/www/html;
index index.html;
standort / {
try_files $uri $uri/ =404;
}
}

In dieser Konfiguration:

  • listen 80; weist Nginx an, auf HTTP-Anfragen an Port 80 zu warten.
  • listen 8080; weist Nginx an, auf HTTP-Anfragen an Port 8080 zu warten.

Das bedeutet, dass sowohl Anfragen an http://example.com:80 als auch an http://example.com:8080 von diesem Serverblock bearbeitet werden.

Schritt 3: Konfigurieren von HTTPS mit mehreren Ports

Wenn Sie HTTPS auf einem anderen Port (z. B. 8443) aktivieren möchten, können Sie es wie folgt konfigurieren:

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;
standort / {
try_files $uri $uri/ =404;
}
}

In dieser Konfiguration:

  • listen 443 ssl; lässt Nginx auf HTTPS-Anfragen auf dem Standard-Port 443 lauschen.
  • listen 8443 ssl; lässt Nginx auf HTTPS-Anfragen an Port 8443 lauschen.
  • Die Pfade für das SSL-Zertifikat und den Schlüssel (ssl_certificate und ssl_certificate_key) werden zur Aktivierung von HTTPS verwendet.

Schritt 4: Überprüfen der Konfiguration

Nachdem Sie Änderungen vorgenommen haben, ist es wichtig, die Nginx-Konfiguration auf Syntaxfehler zu überprüfen, bevor Sie die Änderungen anwenden. Ausführen:

sudo nginx -t

Wenn die Ausgabe besagt, dass die Syntax in Ordnung ist, ist die Konfiguration korrekt.

Schritt 5: Neustart von Nginx

Um die Änderungen zu übernehmen, starten Sie Nginx neu:

sudo systemctl restart nginx

Oder, wenn Ihr System den Dienst:

sudo service nginx restart

Schritt 6: Testen der Konfiguration

Überprüfen Sie, ob Nginx auf mehreren Ports korrekt lauscht:

  1. Überprüfen Sie lauschende Ports: Verwenden Sie netstat oder ss, um zu überprüfen, ob Nginx an den angegebenen Ports lauscht:
    sudo netstat -tuln | grep nginx

    oder:
    sudo ss -tuln | grep nginx

    Dadurch wird eine Liste der Ports angezeigt, die von Nginx überwacht werden. Sie sollten Einträge für die Ports 80, 8080, 443 und 8443 sehen.
  2. Greifen Sie auf den Server zu: Öffnen Sie Ihren Webbrowser und versuchen Sie, über die verschiedenen Ports auf den Server zuzugreifen:
    • http://example.com
    • http://example.com:8080
    • https://example.com
    • https://example.com:8443

    Wenn die Konfiguration korrekt vorgenommen wurde, sollte derselbe Inhalt angezeigt werden.

Erweitert: Unterschiedliche Inhalte für verschiedene Ports einstellen

Sie können unterschiedliche Inhalte konfigurieren, die auf der Grundlage des Ports bereitgestellt werden. Zum Beispiel können Sie für jeden Port unterschiedliche Stammverzeichnisse bereitstellen:

server {
listen 80;
server_name example.com;
stammverzeichnis /var/www/html80;
index index.html;Standort / {
try_files $uri $uri/ =404;
}
}

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

In diesem Beispiel:

  • Bei Anfragen an http://example.com (Port 80) wird der Inhalt von /var/www/html80 bereitgestellt.
  • Bei Anfragen an http://example.com:8080 wird der Inhalt von /var/www/html8080 bereitgestellt.

Schlussfolgerung

Wenn Sie Nginx so konfigurieren, dass es auf mehreren Ports lauscht, können Sie verschiedene Dienste bereitstellen, benutzerdefinierte Setups unterstützen oder Flexibilität in Ihrer Netzwerkarchitektur bieten. Egal, ob Sie Nginx benötigen, um mehrere HTTP- und HTTPS-Ports zu verwalten oder verschiedene Ports auf verschiedene Inhalte zu leiten, die listen-Direktive von Nginx macht die Einrichtung einfach. Stellen Sie nur sicher, dass Sie Ihre Konfigurationen überprüfen, Nginx neu starten und jeden Port testen, um sicherzustellen, dass alles wie erwartet funktioniert.

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills