(Similar a esta pregunta , lo sé, sin embargo, la respuesta no fue una solución).
Instalé recientemente Apache 2.4 como un servicio en Windows 7 Professional y lo configuré correctamente, sin embargo, solo es accesible desde clientes LAN si desactivo el Firewall de Windows. (Los clientes de LAN caducan si se está ejecutando Firewall de Windows) Debido a que el problema no está presente al deshabilitar el Firewall de Windows, no presumo que sea un error en la configuración de httpd. Habilitar el registro de paquetes descartados con Firewall de Windows activado me deja con un archivo de registro en blanco, lo que me deja perplejo. Si Windows Firewall está bloqueando / soltando paquetes entrantes al puerto 80, ¿por qué no registraría esto? Mejor aún, ¿por qué Firewall de Windows continuaría bloqueando las conexiones a pesar de mi regla de firewall?
He implementado una regla de firewall entrante con las siguientes opciones: Action: Allow the connection. Service: Apache2.4. TCP Port: 80. Local IP: Any. Remote IP: Local Subnet.
He verificado que la regla se aplica a todas las ubicaciones de red. Esto no resuelve el problema. No creo que la regla sea inválida.
La ejecución netstat -ao
arrojó el siguiente resultado relevante con Firewall de Windows activado o desactivado. 10.0.0.76
es el host en el que estoy ejecutando httpd:
Active Connections
Proto Local Address Foreign Address State PID
TCP 10.0.0.76:80 Traxus-GD65:0 LISTENING 9104
Si httpd realmente funciona, debería ver un LISTEN
estado en IP 10.0.0.76:80
para PID 9104
(PID de httpd en el momento de ejecutar el comando), y de hecho está allí. Se verifica que el servidor Apache funciona correctamente, reduciendo la causa del problema al Firewall de Windows.
Aquí está el resultado de la ejecución netsh advfirewall firewall show rule name="Apache HTTP Server" dir=in
:
Rule Name: Apache HTTP Server
----------------------------------------------------------------------
Enabled: Yes
Direction: In
Profiles: Domain,Private,Public
Grouping:
LocalIP: Any
RemoteIP: LocalSubnet
Protocol: TCP
LocalPort: 80
RemotePort: All
Edge traversal: No
Action: Allow
Ok.
Además, aquí está el resultado relevante de ejecutar netstat /bn
con Firewall de Windows deshabilitado:
Active Connections
Proto Local Address Foreign Address State
TCP 10.0.0.76:80 10.0.0.209:49019 ESTABLISHED
[httpd.exe]
TCP 10.0.0.76:80 10.0.0.209:49020 ESTABLISHED
[httpd.exe]
La 10.0.0.209
dirección es mi cliente LAN. Estas dos conexiones solo aparecen cuando Firewall de Windows está desactivado y después de haber conectado el cliente.
fuente
netsh advfirewall firewall show rule name=all dir=in
? Puede usarname=Apache
o algo así si conoce el nombre de su regla.netstat /bn
? Compruebe también que el PID que encontró es el PID real del servicio Apache.