J'ai installé le serveur Apache sur mon ordinateur Windows 7. J'ai pu afficher le fichier index.php par défaut en tapant http: // localhost / dans la ligne d'adresse de mon navigateur.
Cependant, je ne parviens toujours pas à voir cette page en tapant l'adresse IP de mon ordinateur (ni localement (depuis le même ordinateur) ni globalement (depuis un autre ordinateur connecté à Internet)).
On m'a dit que je devais ouvrir le port 80. Je l'ai fait (d'une manière décrite ici ) mais cela n'a pas résolu le problème.
Je voudrais tout d'abord vérifier quels ports sont ouverts et lesquels ne le sont pas. Par exemple, je ne suis pas sûr que mon port 80 ait été fermé avant d'essayer de l'ouvrir. Je ne suis pas sûr non plus qu'il soit ouvert après avoir essayé de l'ouvrir.
J'ai essayé d'exécuter un serveur Web très simple écrit en Python. Pour cela j'ai utilisé le port 81 et ça a marché! Et je n'ai pas essayé d'ouvrir le port 81. Donc, il a été ouvert par défaut. Donc, si 81 est ouvert par défaut, pourquoi 80 ne l'est pas? Ou c'est?
INFORMATIONS COMPLÉMENTAIRES:
1. Dans mon fichier httpd.conf, j'ai "Listen 80".
2. Ce site m'indique que le port 80 de mon ordinateur est ouvert.
3. J'obtiens des réponses différentes si j'essaie http: // myip: 80 et http: // myip: 81 . Dans le dernier cas, le navigateur (Chrome) m'écrit que le lien est rompu. Dans le premier cas, j'obtiens: Interdit Vous n'avez pas la permission d'accéder à / sur ce serveur.
4. IE écrit que "Le site Web a refusé d'afficher cette page Web".
la source
Réponses:
Si vous ne faites que vérifier vos ports de l'extérieur. Utilisez cet outil:
http://www.yougetsignal.com/tools/open-ports/
Il tentera de se connecter à votre adresse IP, sur le port spécifique, et vous indiquera s'il est ouvert ou fermé au monde extérieur.
Des problèmes locaux aussi? On dirait que le pare-feu Windows 7 vous coupe. Ajoutez une exception avec ce tutoriel ...
http://www.sevenforums.com/tutorials/542-windows-firewall-add-remove-exception.html
la source
localhost
et non depuis d'autres ordinateurs.L'exécution
netstat -a -n
ou àss -a -n
partir d'une invite de commande affichera toutes les connexions réseau ouvertes et les ports d'écoute de votre machine.0.0.0.0:80
signifierait qu'il écoute sur le port80
de toutes les adresses IP (localhost et vos adresses IP publiques / privées) alors que127.0.0.1:80
cela signifierait qu'il écoute uniquement sur localhost. Vous pouvez ajouter-b
à la commande et elle montrera quel exécutable utilise ce port. Vous pouvez obtenir les mêmes informations en utilisant le Moniteur de ressources dans Windows 7 sous la section Ports d'écoute de l'onglet Réseau.la source
Si vous voulez voir s'il est ouvert depuis un autre serveur, vous pouvez simplement
telnet serverName 80
voir si la session s'ouvre. Si ce n'est pas le cas, le serveur n'écoute pas ou le port est bloqué par un pare-feu.S'il s'ouvre puis se ferme immédiatement, au moins Windows 2003, le logiciel (tel qu'Exchange) n'est peut-être pas configuré pour écouter sur cette interface ou IP particulière, mais il écoute sur d'autres ports. J'ai vu IIS se comporter de cette façon parce que c'est stupide, Apache peut-être pas.
la source
Tu as écrit:
Bien que cela puisse sembler étrange, vous n'avez en fait aucun problème avec les ports ouverts (mais avec la configuration Apache).
Ce message "Interdit" provient de votre serveur Apache; cela signifie que votre serveur Web est accessible depuis Internet.
Vous devez configurer Apache pour autoriser le service à tous les hôtes - sinon ils obtiendront la page "Interdit". IIRC, Apache est initialement configuré pour n'autoriser que les demandes de l'ordinateur local.
Quelque part dans votre configuration Apache, il y a probablement une section comme celle-ci (le répertoire réel peut être différent):
Si vous souhaitez autoriser n'importe quel ordinateur à voir vos pages, vous devez remplacer le
Deny from all
parAllow from all
. Voir la documentation du module d'accès pour plus d'informations .la source
Pour voir les ports ouverts, vous devriez probablement utiliser nmap Ils ont une version Windows: http://nmap.org/dist/nmap-5.21-setup.exe
Ce n'est pas suffisant si vous voyez votre port 80 ouvert depuis localhost - peut-être que quelque chose vous empêche de l'essayer ailleurs, c'est pourquoi je recommande nmap
Depuis le client que vous tapez: nmap ip-of-your-server
la source
Si vous voulez tester cela sur votre réseau local allez télécharger nmap Si vous voulez voir la météo, le port est accessible au monde extérieur allez lancer une analyse à https://www.grc.com/x/ne.dll?bh0bkyd2
la source
Les ports du serveur peuvent être liés à une seule adresse IP ou à toutes les adresses IP disponibles. Il semble que votre installation Apache soit configurée pour se lier uniquement à 127.0.0.1, et vous devez la configurer pour la lier à *. Dans votre httpd.conf (dans le répertoire conf d'Apache), recherchez une ligne comme
Listen localhost:80
et changez-la enListen 80
.la source
telnet <host> <port>
est votre ami. Il a le mérite d'être installé sur à peu près tous les ordinateurs du monde.Modifications après relecture de la question:
Voici quelques conseils de diagnostic utiles
si vous pouvez accéder au site via localhost, mais pas via votre adresse IP locale (192.168. *) à partir d'autres hôtes de votre réseau, c'est probablement un problème de pare-feu Windows.
si vous pouvez accéder au site à partir d'autres machines locales du site, mais pas d'Internet à votre IP publique, c'est un problème de configuration de routeur / transfert de port.
la source
À partir d'une invite de commande, tapez:
... ou votre IP: 80. Cela vous indiquera si le port 80 est ouvert sur votre machine. Maintenant, si vous voulez vérifier et voir si vous pouvez y accéder depuis l'extérieur de votre réseau, cela déterminera si vous avez une sorte de pare-feu en place. Si vous le faites, vous devrez transmettre le port 80 à votre serveur Web.
la source
Si vous êtes sous Windows, utilisez SysInternals TCPView . Il peut vous dire quel programme utilise quel port.
la source
Dans la commande DOS:
la source