Canviar els ports que utilitza el contenidor nginx amb Podman
Per defecte, l’aplicació Cyberwatch s’exposa als ports 8080 (HTTP) i 8443 (HTTPS). Hi ha diversos mètodes per modificar aquest comportament i fer que l’aplicació sigui accessible als ports estàndard 80 i 443:
Redirecció dels ports amb el tallafoc (recomanada)
Aquest mètode permet conservar la configuració de l’aplicació tal com està (escolta als ports 8080 i 8443) i, alhora, fer-la accessible als ports 80 i 443 des de l’exterior.
Amb 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
Ara l’aplicació hauria de ser accessible. Perquè aquest canvi es mantingui després d’un reinici:
sudo firewall-cmd --runtime-to-permanent
Amb 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
Ara l’aplicació hauria de ser accessible. Perquè aquest canvi es mantingui després d’un reinici:
sudo iptables-save | sudo tee /etc/iptables/rules.v4
Exposar el contenidor nginx als ports 80 i 443
Atenció! Aquest mètode no es recomana, perquè permet a qualsevol usuari obrir serveis en ports importants. Utilitzeu-lo amb precaució.
- Autoritzeu un usuari sense privilegis a utilitzar els ports < 1024
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80
Perquè el canvi es mantingui després d’un reinici:
echo "net.ipv4.ip_unprivileged_port_start=80" | sudo tee /etc/sysctl.d/99-unprivileged-ports.conf
sudo sysctl --system
- Editeu el fitxer
/etc/cyberwatch/config.env
Canvieu els valors de les variables NGINX_HTTP_PORT i NGINX_HTTPS_PORT per:
NGINX_HTTP_PORT=80
NGINX_HTTPS_PORT=443
- Reinicieu Cyberwatch
# Avec un utilisateur root
sudo cyberwatch restart
# Avec l'utilisateur cyberwatch
cyberwatch restart