devstory

Rediriger le port 80, 443 sur Ubuntu à l'aide d'iptables

  1. Le problème avec Ubuntu
  2. Configuration des iptables

1. Le problème avec Ubuntu

Lorsque vous vous connectez au système d'exploitation Linux (y compris Ubuntu) avec un utilisateur qui n'est pas « root », vous ne pouvez pas exécuter des applications avec le port < 1024. Seulement des nouveaux « root » privilège d'exécutation ces applications.

Donc si vous vous connectez avec un autre utilisateur « root », vous ne pouvez pas exécuter des applications web avec le port 80 ou 443. Votre site web doit posséder une adresse qui n'est pas sympathique, car il aura plus de port sur le chemin d'accès. Par exemple :
  • http://yoursite.com:8080 (L'adresse n'est pas sympathique)
  • http://yoursite.com (L'adresse est sympathique).
Dans ce cas, vous devez toujours exécuter l'application web sur un port (port) = > 1024, par exemple 8080. L'utilisateur accède à votre site web à travers le port 80 et il sera détourné (redirect) au port 8080. La navigation se fait par le système d'exploitation OS, comme l'illustration ci-dessous :
Pour le rediriger, vous devez configurer iptables.

2. Configuration des iptables

Tout d'abord, vous devez vérifier l'application en cours d'exécution et le port (port) dans lequel il est utilisé.
netstat -ntl
Tomcat est en cours d'exécution sur le port 8080 :
Ensuite, exécutez la commande suivante pour rediriger le trafic du port 80 vers port 8080.
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Exécutez la commande ci-dessous pour s'assurer que la navigation a bien fonctionné.
sudo iptables -t nat -L
Puis, vous devez enregistrer les informations de configuration au-dessus pour s'assurer que cela est encore utile lorsque vous redémarrez le système d'exploitation.
sudo sh -c "iptables-save > /etc/iptables.rules"

sudo apt-get install iptables-persistent
Remarque : si vous voulez supprimer la configuration de la redirection 80 au 8080 qui a été implémenté dans les étapes au-dessus, exécutez la commande suivante :
sudo iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Testez :