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.
- 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
- 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
- Reiniciar Cyberwatch
# Con un usuario root
sudo cyberwatch restart
# Con el usuario cyberwatch
cyberwatch restart