web-dev-qa-db-fra.com

Port d'écoute sur localhost: 8000 mais pas sur ip: 8000

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 correctement, 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 sur 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 ufw default allow. J'utilise le serveur Ubuntu 12.04

Des suggestions sur la raison pour laquelle je ne parviens pas à accéder à mon application sur le port 8000 à l'aide de l'adresse IP: 8000?

Merci d'avance!

8
Marionette

Comme @JamesHenstridge le fait remarquer, le comportement que vous observez n'est pas dû au blocage d'Ubuntu sur certaines IP, mais au fait que votre application est explicitement liée à l'interface de bouclage local (127.x.x.x). Du 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 savoir s'il existe un paramètre lui permettant d'écouter sur d'autres interfaces (ou sur toutes).

5
Sergey

Dans un fichier de configuration de votre application, vous devez configurer votre application pour qu’elle écoute un IP externe: yourport. Cela signifie qu'il existe un fichier de configuration dans lequel vous pouvez trouver une directive demandant à l'application d'écouter 127.0.0.1:xxxx ou localhost: xxxx Il s'agit de l'IP à modifier avec une adresse IP interne (par exemple: 192.168.1.40) ou une adresse IP externe.

Parfois, l'adresse IP de l'hôte local doit être remplacée par 0.0.0.0:xxxx, ce qui signifie que l'application doit répondre à une demande provenant de n'importe quel IP.

Iptables peut également aider à transférer des paquets d'une adresse IP interne vers une adresse IP externe.

0