Écoute de port sur localhost: 8000 mais pas sur ip: 8000

9

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!

Marionnette
la source
1
L'application écoute probablement l'adresse locale (127.0.0.1) plutôt que toutes les adresses locales (0.0.0.0). Cependant, vous n'avez pas fourni suffisamment d'informations sur votre application pour que les gens puissent vous aider à résoudre ce problème.
James Henstridge
Mon application exécutée sur le port 8000 n'est qu'un site Web. Peut-être que ce copier / coller netstat en dira plus sur mon réseau:
Marionette
3
Eh bien, courir netstat -tln | grep 8000pourrait éclairer le problème. Si l'adresse locale du serveur est 127.0.0.1:8000plutôt que 0.0.0.0:8000, alors elle ne sera accessible que via l'interface de bouclage.
James Henstridge
vérifiez vos iptables

Réponses:

5

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.

Sergey
la source
Connaissez-vous également la redirection de port sur votre routeur? Si vous allez vous y connecter à partir d'Internet sur le port 8000, vous devez transférer le port 8000 sur l'IP de cette machine.
wlraider70
0

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.

Nicolas Guérinet
la source