Búsqueda de sitios web

Cómo cambiar el puerto Nginx en Linux


Nginx es un servidor estable de código abierto que impulsa algunos de los sitios web con mayor tráfico de Internet en la actualidad. Entre los servicios web, el servidor web Nginx se puede implementar con éxito como equilibrador de carga, proxy inverso web o como servidor proxy POP e IMAP.

De forma predeterminada, el servidor Nginx HTTP escucha la conexión entrante y se vincula al puerto 80, que representa el puerto web estándar. Sin embargo, la configuración TLS, que no está habilitada de forma predeterminada en Nginx, escucha conexiones seguras en el puerto 443.

Para hacer que el servidor HTTP Nginx escuche las conexiones web entrantes en otros puertos no estándar, necesitamos editar el archivo de configuración principal y cambiar o agregar una nueva declaración para reflejar este hecho.

En sistemas basados en Ubuntu y Debian, necesitamos modificar el archivo /etc/nginx/sites-enabled/default y en RHEL. Las distribuciones basadas en y CentOS editan el archivo /etc/nginx/nginx.conf.

Para empezar, abra el archivo de configuración de Nginx con un editor de texto y cambie el número de puerto como se muestra en el siguiente extracto.

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

En este extracto configuraremos el servidor HTTP Nginx para escuchar las conexiones entrantes en el puerto 3200. Busque la línea que comienza con la declaración listen en la directiva del servidor y cambie el puerto de 80 a 3200, como se ilustra en la siguiente imagen.

listen 3200 default_server;

Después de modificar la declaración del puerto de Nginx, debe reiniciar el servidor web para vincular el nuevo puerto en las distribuciones de Linux basadas en Debian. Verifique la tabla de sockets de la red local con netstat o el comando ss. El puerto 3200 debe aparecer en la tabla de red local de su servidor.

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

En la distribución de Linux basada en CentOS o RHEL, debe instalar el paquete policycoreutils y agregar las siguientes reglas requeridas por SELinux para que Nginx se vincule en el nuevo puerto. .

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

Finalmente reinicie el servidor HTTP Nginx para aplicar los cambios.

systemctl restart nginx.service 

Consultar tablas de red con tomas de escucha.

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

Para verificar si se puede acceder al servidor web desde las computadoras de su red, abra un navegador y navegue hasta la dirección IP de su servidor o el nombre de dominio en el puerto 3200. Debería ver la página web predeterminada de Nginx, como se ilustra en la siguiente captura de pantalla.

http://sever.ip:3200 

Sin embargo, si no puede navegar por la página web de Nginx, regrese a la consola del servidor y verifique las reglas del firewall para permitir el tráfico entrante en el puerto 3200/tcp.