Cambiar los puertos usados por el contenedor nginx con Podman

Por defecto, la aplicación Cyberwatch se expone en los puertos 8080 (HTTP) y 8443 (HTTPS). Existen varios métodos para modificar este comportamiento y hacer la aplicación accesible en los puertos estándar 80 y 443:

Redireccion de puertos mediante el firewall (recomendada)

Este método permite conservar la configuración de la aplicación tal cual (escucha en 8080 y 8443) y hacerla accesible en 80 y 443 desde el exterior.

Con firewalld:

# Redirigir el puerto 80 hacia 8080
sudo firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

# Redirigir el puerto 443 hacia 8443
sudo firewall-cmd --add-forward-port=port=443:proto=tcp:toport=8443

La aplicación debería ser accesible. Para hacer este cambio permanente al reinicio:

sudo firewall-cmd --runtime-to-permanent

Con iptables:

# Redirigir el puerto 80 hacia 8080
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

# Redirigir el puerto 443 hacia 8443
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443

La aplicación debería ser accesible. Para hacer este cambio permanente al reinicio:

sudo iptables-save | sudo tee /etc/iptables/rules.v4

Exponer el contenedor nginx en los puertos 80 y 443

Atención! Este método no se recomienda porque permite a cualquier usuario abrir servicios en puertos privilegiados. Usar con precaucion.

  1. Autorizar a un usuario no privilegiado a usar los puertos < 1024
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80

Para hacer el cambio permanente al reinicio:

echo "net.ipv4.ip_unprivileged_port_start=80" | sudo tee /etc/sysctl.d/99-unprivileged-ports.conf
sudo sysctl --system
  1. Editar el archivo /etc/cyberwatch/config.env

Cambiar los valores de las variables NGINX_HTTP_PORT y NGINX_HTTPS_PORT por:

NGINX_HTTP_PORT=80
NGINX_HTTPS_PORT=443
  1. Reiniciar Cyberwatch
# Con un usuario root
sudo cyberwatch restart

# Con el usuario cyberwatch
cyberwatch restart

Volver arriba

English Français Español