Com canviar el port Nginx a Linux


Nginx és un servidor estable de codi obert que alimenta alguns dels llocs web amb més trànsit d'Internet actuals. Entre els serveis web, el servidor web Nginx es pot implementar amb èxit com a equilibrador de càrrega, servidor intermediari web invers o com a servidor intermediari POP i IMAP.

Per defecte, el servidor HTTP Nginx escolta la connexió entrant i s'enllaça al port 80, que representa el port web estàndard. Tanmateix, la configuració TLS, que no està habilitada per defecte a Nginx, escolta les connexions segures al port 443.

Per tal que el servidor HTTP Nginx escolti les connexions web entrants en altres ports no estàndard, hem d'editar el fitxer de configuració principal i canviar o afegir una declaració nova per reflectir aquest fet.

Al sistema basat en Ubuntu i Debian, hem de modificar el fitxer /etc/nginx/sites-enabled/default i, a les distribucions basades en RHEL i CentOS, editar el fitxer /etc/nginx/nginx.conf.

Per començar, obriu el fitxer de configuració Nginx amb un editor de text i canvieu el número de port tal com es mostra a l'extracte següent.

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

En aquest fragment, configurarem el servidor HTTP Nginx perquè escolti les connexions entrants al port 3200. Cerqueu la línia que comenci amb la instrucció listen a la directiva del servidor i canvieu el port de 80 a 3200, tal com s'il·lustra a la imatge de sota.

listen 3200 default_server;

Després d'alterar la declaració del port Nginx, heu de reiniciar el servidor web per vincular-vos al nou port a les distribucions Linux basades en Debian. Verifiqueu la taula de sockets de xarxa local amb l'ordre netstat o ss. El port 3200 s'ha de mostrar a la taula de xarxa local del vostre servidor.

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

A la distribució Linux basada en CentOS o RHEL, heu d'instal·lar el paquet policycoreutils i afegir les regles següents requerides per SELinux perquè Nginx s'uneixi al nou port.

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

Finalment, reinicieu el servidor HTTP Nginx per aplicar els canvis.

# systemctl restart nginx.service 

Comproveu els endolls d'escolta de les taules de xarxa.

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

Per comprovar si es pot accedir al servidor web des dels ordinadors de la vostra xarxa, obriu un navegador i navegueu fins a l'adreça IP o el nom de domini del vostre servidor al port 3200. Hauríeu de veure la pàgina web predeterminada de Nginx, tal com es mostra a la captura de pantalla següent.

http://sever.ip:3200 

Tanmateix, si no podeu navegar per la pàgina web de Nginx, torneu a la consola del servidor i comproveu les regles del tallafoc per permetre el trànsit entrant al port 3200/tcp.