Bonjour, j'exécute une application Web sur le port 8000. Lorsque j'y accède à partir du serveur hôte localhost: 8000, il répond bien, 127.0.0.1:8000 fonctionne également, mais 192.168.1.7:8000 ne fonctionne pas. 192.168.1.7 est l'ip de mon serveur.
Aussi, si j'essaie d'aller vers une autre application Web fonctionnant sur le port 80, cela fonctionne 192.168.1.7
J'ai activé le pare-feu ufw et défini l'autorisation par défaut ufw. J'utilise le serveur Ubuntu 12.04
Des suggestions sur les raisons pour lesquelles je ne peux pas accéder à mon application sur le port 8000 en utilisant l'adresse IP: 8000?
Merci d'avance!
netstat -tln | grep 8000
pourrait éclairer le problème. Si l'adresse locale du serveur est127.0.0.1:8000
plutôt que0.0.0.0:8000
, alors elle ne sera accessible que via l'interface de bouclage.Réponses:
Comme le souligne @JamesHenstridge, le comportement que vous observez n'est pas dû au fait qu'Ubuntu bloque votre application sur certaines adresses IP, mais à votre application se liant explicitement uniquement à l'interface de bouclage locale (127.xxx). Au moins si vous n'avez pas installé et configuré un pare-feu pour bloquer spécifiquement ce port.
Vous devez consulter la documentation de votre application pour voir s'il existe un paramètre pour la faire écouter sur d'autres (ou sur toutes) les interfaces.
la source
Dans un fichier de configuration de votre application, vous devez configurer votre application pour écouter une IP externe externe: votre port. Cela signifie qu'il existe un fichier de configuration dans lequel vous pouvez trouver une directive indiquant à l'application d'écouter 127.0.0.1:xxxx ou localhost: xxxx Il s'agit de l'IP à modifier avec une IP interne (par exemple: 192.168.1.40) ou une IP externe
Parfois, l'adresse IP localhost doit être remplacée par 0.0.0.0:xxxx, ce qui signifie que l'application doit répondre à une demande de n'importe quelle adresse IP.
Iptables peut également aider à transférer des paquets d'une IP interne vers une IP externe.
la source