Changer les ports utilisés par le conteneur nginx avec Podman

Par défaut, l’application Cyberwatch est exposée sur les ports 8080 (HTTP) et 8443 (HTTPS). Plusieurs méthodes existent pour modifier ce comportement et rendre l’application accessible sur les ports standards 80 et 443 :

Redirection des ports via le pare-feu (recommandée)

Cette méthode permet de conserver la configuration de l’application telle quelle (écoute sur 8080 et 8443), tout en la rendant accessible sur 80 et 443 depuis l’extérieur.

Avec 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’application devrait maintenant être accessible. Pour rendre ce changement permanent au redémarrage :

sudo firewall-cmd --runtime-to-permanent

Avec 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’application devrait maintenant être accessible. Pour rendre ce changement permanent au redémarrage :

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

Exposer le conteneur nginx sur les ports 80 et 443

Attention ! Cette méthode est déconseillée car elle permet à n’importe quel utilisateur d’ouvrir des services sur des ports imports. À utiliser avec précaution.

  1. Autoriser un utilisateur non privilégié à utiliser les ports < 1024
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80

Pour rendre le changement permanent au redémarrage :

echo "net.ipv4.ip_unprivileged_port_start=80" | sudo tee /etc/sysctl.d/99-unprivileged-ports.conf
sudo sysctl --system
  1. Éditer le fichier /etc/cyberwatch/config.env

Changer les valeurs des variables NGINX_HTTP_PORT et NGINX_HTTPS_PORT par :

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

# Avec l'utilisateur cyberwatch
cyberwatch restart

Retour en haut