Apache Server sur Windows 7 ouvrant des ports?

20

J'ai installé Apache 2.2.14 sur Windows 7 et je peux afficher mes pages Web en utilisant les deux http://localhostet http://127.0.0.1mais lorsque j'essaie d'accéder au serveur à partir d'un autre ordinateur sur le même routeur, cela échoue. Il échoue également lorsque j'utilise l'adresse DynDNS que j'ai mappée.

Cela fonctionnait bien sous Windows XP avant de passer à Windows 7.

Je soupçonne que le problème est quelque chose comme le port 80 qui n'est pas ouvert pour un accès extérieur à l'ordinateur.

Quelqu'un sait-il comment ouvrir ce port dans le pare-feu Windows, ou si quelque chose d'autre est verrouillé, qu'est-ce que c'est et comment le déverrouiller?

WilliamKF
la source

Réponses:

34

Pour ajouter une règle dans le pare-feu Windows pour le port 80, procédez comme suit:

  • Accédez au Panneau de configuration et lancez "Pare-feu Windows"
  • Allez dans "Paramètres avancés"
  • Sélectionnez "Règles entrantes" dans le volet gauche
  • Sélectionnez "Nouvelle règle" dans le volet droit
  • Dans l'Assistant Nouvelle règle entrante, sélectionnez "Port" comme type de règle, puis cliquez sur "Suivant"
  • Sélectionnez "TCP et mettez" 80 "(et tout autre port que vous souhaitez ouvrir) dans" Ports locaux spécifiques ", puis cliquez sur" Suivant "
  • Sélectionnez "Autoriser la connexion", puis cliquez sur "Suivant"
  • Sélectionnez l'emplacement réseau où la règle doit s'appliquer (sélectionnez-les tous si vous n'êtes pas sûr), puis cliquez sur "Suivant"
  • Donnez un nom et une description facultative

Ça devrait le faire.

Snark
la source
2
Vous pouvez constater qu'il existe déjà une règle entrante "Apache" sous les paramètres du pare-feu. Si vous examinez cette règle, vous trouverez certains paramètres sous l'onglet Général, dont l'un est Action. Il existe deux options - "Autoriser la connexion" et "Autoriser la connexion si elle est sécurisée". Vous pouvez choisir l'une de ces options à votre discrétion, mais je vous suggère de lire et de comprendre les options "Personnaliser" de cette dernière.
Aaron Newton,
Astuces: Vous pourrez visiter ce port, mais vous ne pourrez peut-être toujours pas cingler l'ip!
fzyzcjy
3

Il semble que le pare-feu Windows 7 ait peur du port 80.

Il ouvrira ces ports si vous le configurez de cette façon:

Serveur Apache → UDP → tous les ports.
Serveur Apache → TCP → tous les ports.

C'est mauvais car Apache fonctionne généralement avec des ports spécifiques (je veux dire 80, certains utilisent 8080 et 443), mais je n'ai pas trouvé d'autre moyen de faire fonctionner les règles de pare-feu Apache.

Sergio Abreu
la source
2

semble que vous devez ajouter une exception (port 80) au pare-feu Windows.

Je suis sûr que cela peut être accompli en ouvrant le panneau de configuration du pare-feu et en cliquant un peu. Dans XP, c'était au moins assez simple.

Le problème pourrait également être qu'apache est uniquement configuré pour écouter sur l'interface de bouclage. Vous pouvez le tester en exécutant netstat ou en essayant de visiter l'autre adresse de votre machine, comme http://192.168.1.101/

user23307
la source
2

Je viens de travailler. J'ai créé la règle d'exception pour le port 80 sur le pare-feu Windows. J'utilise Windows 7 sur l'ordinateur portable et OSX Leopard sur mon Mac. L'exception à elle seule n'a pas résolu le problème. J'ai ensuite désactivé le pare-feu et j'ai pu me connecter à l'apache sur l'ordinateur portable à partir de mon Mac. Ce qui a vraiment résolu le problème était dans le panneau de configuration> réseau et centre de partage. J'ai modifié les paramètres du réseau actif et l'ai défini comme réseau domestique. Si vous vérifiez le pare-feu Win, vous devriez voir le réseau domestique (privé) connecté

ricardo
la source
+1, j'ai également dû choisir un groupe résidentiel pour le réseau actuel afin que la règle fonctionne. Merci @ricardo.
rishimaharaj
1

Essayez à la fois d'ouvrir le port de votre routeur sur votre ordinateur et de regarder le pare-feu de Windows.

N'oubliez pas que lorsque vous avez réinstallé Windows, il est possible que vous ayez un bail DHCP différent et une adresse IP différente afin que le routeur ne le transmette plus correctement.

En plus de cela, votre routeur doit prendre en charge "Nat Loopback" sinon vous échouerez simplement à vous connecter, mais je suppose qu'il le prend en charge comme vous l'avez dit précédemment. Pour vérifier cela, je vous conseille fortement d'utiliser Hide My Ass ou Proxify .

William Hilsum
la source
> Il est possible que vous ayez une adresse IP différente afin que le routeur ne la transmette plus correctement. D'accord! Je «portablise» mon installation WordPress afin de pouvoir l'héberger facilement de n'importe où. Je l'ai fait fonctionner localement, mais il est bloqué du monde. Il y a déjà une exception dans le pare-feu Windows car j'ai dit autoriser quand il me l'a demandé, j'ai donc vérifié le routeur, et bien sûr, il a été configuré pour transmettre le port 80 à l'IP de mon bureau. Bien sûr, le changer en ordinateur portable n'est pas bon. J'ai fini par attribuer un port-trigger à la place et fonctionne maintenant à partir de n'importe quel système connecté.
Synetech
1

En plus de vérifier le pare-feu et de vérifier si apache n'écoute que l'adresse localhost, vous pouvez / devriez également vérifier vos .htaccessfichiers. La nouvelle version que vous avez installée peut avoir implémenté une politique de sécurité plus restrictive.

Quelques tutoriels sur .htaccess

pcapademic
la source
0

Il semble que ce soit un problème avec le pare-feu Windows 7. Lorsque je désactive le pare-feu, cela fonctionne correctement. Maintenant, je dois juste comprendre comment activer le pare-feu mais autoriser les connexions du port 80.

WilliamKF
la source