Firewall de Windows tiene el puerto 80 abierto pero evita que Apache haga conexiones

11

Tengo una máquina con Windows 7 que sirve muy pocas páginas (¡pero importantes!). Tengo una excepción que permite el tráfico al puerto 80 *, pero Apache 2.2 todavía no puede servir páginas (aunque puedo verlas desde la máquina). Sin embargo, si deshabilito el Firewall de Windows por completo, puedo hacer ping en el cuadro y cargar páginas.

¿Qué más necesito configurar para que Apache pueda hacer su trabajo?

* En realidad, sucede lo mismo incluso si cambio la excepción a "todos los puertos" en lugar de solo 80.

Charles
fuente
3
1. Deje de usar ping como herramienta de prueba de servicio. Si puede hacer ping al host o no es irrelevante para saber si el sitio web está funcionando o no. 2. ¿Qué perfil de red está activo en el firewall de Windows y a qué perfil de red está vinculada su regla?
joeqwerty
@joeqwerty: menciono ping solo para proporcionar información adicional.
Charles

Respuestas:

10

Si el puerto 80 está abierto o no en su firewall, no significa que el ping comenzará a funcionar si Apache se ejecuta correctamente. Ping utiliza ICMP, que es un protocolo propio que debe abrirse en el firewall para recibir respuestas de ping de su máquina. Por lo tanto, no cuente con ping para verificar si su configuración de apache / configuración de firewall está funcionando.

En respuesta a su regla de firewall para tcp 80, vaya a las propiedades de su regla y verifique si las 3 casillas de verificación (Dominio, Privado, Público) están marcadas, y si no, márquelas. ingrese la descripción de la imagen aquí

Aquí hay un CÓMO con los pasos exactos que debe seguir para abrir el puerto 80 en Windows 7: enlace

Actualizar:

Compruebe también si no está bloqueando el proceso de apache en sí con el Firewall de Windows.
1. Vaya al Panel de control
2. Seleccione Sistema y seguridad
3. En la sección Firewall de Windows, seleccione Permitir un programa a través del Firewall de Windows .
ingrese la descripción de la imagen aquí
4. Desmarcar la casilla a la izquierda del nombre de la aplicación no le permite acceder a los recursos de la red, mientras que si marca la casilla permite el acceso.
ingrese la descripción de la imagen aquí
Si Apache no aparece en la lista, puede hacer clic en el botón Permitir otro programa ... para agregarlo y luego marcar las casillas en Casa / Trabajo y Público.

George Tasioulis
fuente
Los tres están verificados. El sitio web no se abrirá en un navegador (excepto en el propio servidor).
Charles
1
@Charles: en ese caso, haga estas 5 cosas: 1. Habilite el registro del firewall en la máquina con Windows 7. 2. Instale un programa de captura de paquetes en la máquina con Windows 7. 3. Comience una captura. 4. Intente navegar por el sitio web desde otra máquina. 5. Detenga la captura e inspecciónela y el registro del firewall en busca de pistas sobre lo que está sucediendo.
joeqwerty
¿Está seguro de haber creado la regla Inbound Rulesen el panel izquierdo?
George Tasioulis
@ Charles por favor revisa mi actualización.
George Tasioulis
1
@George: Eso es todo. Permitir "Supervisar servidores Apache" (además de la excepción del puerto 80) lo hizo funcionar.
Charles
2

Verifique el servicio "Branch cache" y deténgalo si se está ejecutando.

Sergey
fuente
1

Si deshabilitar el cortafuegos soluciona por completo el problema, pero sus reglas de excepción no lo hacen, entonces me aventuraría a decir que sus excepciones son defectuosas.

Según Microsoft , el primer paso para solucionar problemas de firewall es verificar el perfil activo (Público, Privado o Dominio).

El primer paso para solucionar los problemas del Firewall de Windows es verificar qué perfil está activo. El Firewall de Windows con seguridad avanzada es una aplicación que reconoce la ubicación de la red. A medida que cambian las ubicaciones de red a las que está conectada la computadora, cambia el perfil de Firewall de Windows. Los perfiles describen la configuración y las reglas del Firewall de Windows que se aplican según el tipo de ubicación de red de las conexiones de red activas.

Entonces, una posibilidad es que usted hizo la regla correcta pero en el perfil incorrecto.

Espero que ayude.

Somantra
fuente
Buen pensamiento, +1. Esto no termina siendo mi problema, pero podría ver a alguien cometiendo este error.
Charles
0

Su httpd.conf probablemente esté restringiendo a clientes en localhost o subred local solamente.

En su conjunto httpd.conf:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

y posiblemente también este:

<Directory "E:/Apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Allow from all
</Directory>
djangofan
fuente
No es el problema, porque si apago el firewall, el problema desaparece. (Además, antes de actualizar a Win7, el mismo httpd.conf funcionó bien durante años.)
Charles,
0

Su firewall no permite que ninguna conexión nueva comparta información sin su consentimiento. SÓLO lo que debe hacer es dar su consentimiento a su firewall.

  1. Vaya a la configuración de Firewall en el Panel de control
  2. Haga clic en Configuración avanzada
  3. Haga clic en Reglas de entrada y agregue una nueva regla.
  4. Elija 'Tipo de regla' a Puerto.
  5. Permitir esto para todos los programas.
  6. Permita que esta regla se aplique en todos los Perfiles, es decir, Dominio, Privado, Público.
  7. Dale a esta regla cualquier nombre.

Eso es. Ahora otra PC y móviles conectados en la misma red pueden acceder a los sitios locales. Vamos a comenzar el desarrollo.

Surjeet Verma
fuente