Website-Suche

So ändern Sie den Nginx-Port unter Linux


Nginx ist ein stabiler Open-Source-Server, der heute einige der am stärksten frequentierten Websites im Internet betreibt. Unter den Webdiensten kann der Nginx-Webserver erfolgreich als Load-Balancer, Web-Reverse-Proxy oder als POP- und IMAP-Proxyserver eingesetzt werden.

Standardmäßig wartet der Nginx HTTP-Server auf eingehende Verbindungen und bindet sich an Port 80, der den Standard-Webport darstellt. Allerdings wartet die TLS-Konfiguration, die in Nginx standardmäßig nicht aktiviert ist, auf sichere Verbindungen auf Port 443.

Damit der Nginx-HTTP-Server auf eingehende Webverbindungen auf anderen nicht standardmäßigen Ports wartet, müssen wir die Hauptkonfigurationsdatei bearbeiten und eine Anweisung ändern oder eine neue hinzufügen, um diese Tatsache widerzuspiegeln.

In Ubuntu- und Debian-basierten Systemen müssen wir die Datei /etc/nginx/sites-enabled/default und auf RHEL ändern und CentOS-basierte Distributionen bearbeiten die Datei /etc/nginx/nginx.conf.

Öffnen Sie zunächst die Nginx-Konfigurationsdatei mit einem Texteditor und ändern Sie die Portnummer wie im folgenden Auszug gezeigt.

vi /etc/nginx/sites-enabled/default  [On Debian/Ubuntu]
vi /etc/nginx/nginx.conf             [On CentOS/RHEL]

In diesem Auszug konfigurieren wir den Nginx-HTTP-Server so, dass er auf eingehende Verbindungen auf Port 3200 wartet. Suchen Sie in der Serveranweisung nach der Zeile, die mit der Anweisung listen beginnt, und ändern Sie den Port von 80 in 3200, wie in der folgenden Abbildung dargestellt.

listen 3200 default_server;

Nachdem Sie die Nginx-Portanweisung geändert haben, müssen Sie den Webserver neu starten, um eine Bindung an den neuen Port auf Debian-basierten Linux-Distributionen herzustellen. Überprüfen Sie die Tabelle der lokalen Netzwerk-Sockets mit netstat oder dem ss-Befehl. Port 3200 sollte in der lokalen Netzwerktabelle Ihres Servers angezeigt werden.

systemctl restart nginx
netstat -tlpn| grep nginx
ss -tlpn| grep nginx

In einer CentOS- oder RHEL-basierten Linux-Distribution müssen Sie das Paket policycoreutils installieren und die folgenden Regeln hinzufügen, die SELinux für die Bindung von Nginx an den neuen Port benötigt .

yum install policycoreutils
semanage port -a -t http_port_t -p tcp 3200
semanage port -m -t http_port_t -p tcp 3200

Starten Sie abschließend den Nginx-HTTP-Server neu, um die Änderungen zu übernehmen.

systemctl restart nginx.service 

Überprüfen Sie die Netzwerktabellen, die die Sockets überwachen.

netstat -tlpn| grep nginx
ss -tlpn| grep nginx

Um zu überprüfen, ob von Computern in Ihrem Netzwerk aus auf den Webserver zugegriffen werden kann, öffnen Sie einen Browser und navigieren Sie zu Ihrer Server-IP-Adresse oder Ihrem Domänennamen auf Port 3200. Sie sollten die Nginx-Standardwebseite sehen, wie im folgenden Screenshot dargestellt.

http://sever.ip:3200 

Wenn Sie jedoch die Nginx-Webseite nicht durchsuchen können, kehren Sie zur Serverkonsole zurück und überprüfen Sie die Firewall-Regeln, um eingehenden Datenverkehr auf Port 3200/tcp zuzulassen.