Modificare le porte utilizzate dal container nginx con Podman

Per impostazione predefinita, l’applicazione Cyberwatch è esposta sulle porte 8080 (HTTP) e 8443 (HTTPS). Esistono diversi metodi per modificare questo comportamento e rendere l’applicazione accessibile sulle porte standard 80 e 443:

Reindirizzamento delle porte tramite il firewall (consigliato)

Questo metodo consente di mantenere invariata la configurazione dell’applicazione (in ascolto su 8080 e 8443), rendendola al tempo stesso accessibile sulle porte 80 e 443 dall’esterno.

Con firewalld:

# Rediriger le port 80 vers 8080
sudo firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

# Rediriger le port 443 vers 8443
sudo firewall-cmd --add-forward-port=port=443:proto=tcp:toport=8443

L’applicazione dovrebbe ora essere accessibile. Per rendere questa modifica permanente al riavvio:

sudo firewall-cmd --runtime-to-permanent

Con iptables:

# Rediriger le port 80 vers 8080
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

# Rediriger le port 443 vers 8443
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443

L’applicazione dovrebbe ora essere accessibile. Per rendere questa modifica permanente al riavvio:

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

Esporre il container nginx sulle porte 80 e 443

Attenzione! Questo metodo è sconsigliato perché consente a qualsiasi utente di aprire servizi su porte importanti. Da utilizzare con cautela.

  1. Consentire a un utente non privilegiato di utilizzare le porte < 1024
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80

Per rendere la modifica permanente al riavvio:

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

Modificare i valori delle variabili NGINX_HTTP_PORT e NGINX_HTTPS_PORT come segue:

NGINX_HTTP_PORT=80
NGINX_HTTPS_PORT=443
  1. Riavviare Cyberwatch
# Avec un utilisateur root
sudo cyberwatch restart

# Avec l'utilisateur cyberwatch
cyberwatch restart