¿Apache Server en Windows 7 abriendo puertos?

20

He instalado Apache 2.2.14 en Windows 7 y puedo ver más páginas web utilizando tanto http://localhosty http://127.0.0.1pero cuando intento acceder al servidor desde otro equipo en el mismo router, falla. También falla cuando uso la dirección DynDNS que he asignado.

Esto funcionó bien en Windows XP antes de actualizar a Windows 7.

Sospecho que el problema es algo así como que el puerto 80 no se abre para el acceso externo a la computadora.

¿Alguien sabe cómo abrir ese puerto en el Firewall de Windows, o si algo más está bloqueado, qué es eso y cómo desbloquearlo?

WilliamKF
fuente

Respuestas:

34

Para agregar una regla en el Firewall de Windows para el puerto 80, haga lo siguiente:

  • Vaya al Panel de control e inicie "Firewall de Windows"
  • Vaya a "Configuración avanzada"
  • Seleccione "Reglas de entrada" en el panel izquierdo
  • Seleccione "Nueva regla" en el panel derecho
  • En el Asistente para nueva regla de entrada, seleccione "Puerto" como Tipo de regla, luego haga clic en "Siguiente"
  • Seleccione "TCP y coloque" 80 "(y cualquier otro puerto que desee abrir) en" Puertos locales específicos ", luego haga clic en" Siguiente "
  • Seleccione "Permitir la conexión", luego haga clic en "Siguiente"
  • Seleccione la ubicación de red donde debe aplicarse la regla (selecciónelas todas si no está seguro), luego haga clic en "Siguiente"
  • Dar un nombre y una descripción opcional.

Deberias hacer eso.

Snark
fuente
2
Es posible que ya haya una regla de entrada "Apache" en la configuración del firewall. Si examina esta regla, encontrará algunas configuraciones en la pestaña General, una de las cuales es Acción. Hay dos opciones: "Permitir la conexión" y "Permitir la conexión si es segura". Puede elegir cualquiera de esas opciones a su discreción, pero le sugiero que lea y comprenda las opciones "Personalizar" de esta última.
Aaron Newton
Consejos: ¡Podrá visitar ese puerto, pero es posible que aún no pueda hacer ping a la ip!
fzyzcjy
3

Parece que Windows 7 Firewall teme al puerto 80.

Abrirá esos puertos si lo configura de esta manera:

Servidor Apache → UDP → todos los puertos.
Servidor Apache → TCP → todos los puertos.

Eso es malo, ya que Apache generalmente funciona con puertos específicos (quiero decir 80, algunos usan 8080 y 443), pero no encontré otra forma de hacer que las reglas de firewall de Apache funcionen.

Sergio Abreu
fuente
2

Parece que necesita agregar una excepción (puerto 80) al firewall de Windows.

Estoy seguro de que esto se puede lograr abriendo el panel de control del firewall y haciendo clic un poco. En XP fue bastante sencillo al menos.

El problema también podría ser que apache solo está configurado para escuchar en la interfaz de bucle invertido. Puede probarlo ejecutando netstat o intentando visitar la otra dirección de su máquina, como http://192.168.1.101/

usuario23307
fuente
2

Solo mía trabajando. Creé la regla de excepción para el puerto 80 en el firewall de Windows. Estoy ejecutando Windows 7 en la computadora portátil y OSX Leopard en mi Mac. La excepción por sí sola no solucionó el problema. Luego apagué el Firewall y pude conectarme al apache en la computadora portátil desde mi Mac. Lo que realmente resolvió el problema fue en el panel de control> red y centro de intercambio. Cambié la configuración de la red activa y la configuré como la red doméstica. Si verifica en el firewall de win, debería ver la red doméstica (privada) conectada

ricardo
fuente
+1, también tuve que elegir un grupo en el hogar para la red actual para que la regla funcione. Gracias @ricardo.
rishimaharaj
1

Intente abrir el puerto de su enrutador a su máquina y mirar el firewall de Windows.

Recuerde que cuando reinstaló Windows, es posible que tenga una concesión de DHCP diferente y una dirección IP diferente, de modo que el enrutador ya no pueda reenviarla correctamente.

Además de esto, su enrutador debe ser compatible con "Nat Loopback"; de lo contrario, simplemente no podrá conectarse, sin embargo, supongo que lo admite como dijo anteriormente. Para verificar esto, le recomiendo que use Hide My Ass o Proxify .

William Hilsum
fuente
> Es posible que tenga una dirección IP diferente, por lo que es posible que el enrutador ya no la reenvíe correctamente. ¡Convenido! Estoy "portablizando" mi instalación de WordPress para poder alojarla fácilmente desde cualquier lugar. Lo conseguí trabajando localmente, pero está bloqueado del mundo. Ya hay una excepción en el Firewall de Windows porque dije permitir cuando me lo solicitó, así que verifiqué el enrutador y, efectivamente, estaba configurado para reenviar el puerto 80 a la IP de mi escritorio. Por supuesto, cambiarlo a la computadora portátil no es bueno. Terminé asignando un activador de puerto, y ahora funciona desde cualquier sistema conectado.
Synetech el
1

Además de verificar el firewall y verificar si apache está escuchando solo la dirección localhost, también puede / debe verificar sus .htaccessarchivos. La nueva versión que instaló puede haber implementado una política de seguridad más restrictiva.

Algunos tutoriales sobre .htaccess

pcapademic
fuente
0

Parece que es un problema con el firewall de Windows 7. Cuando apago el firewall, funciona correctamente. Ahora solo necesito descubrir cómo tener el firewall activo pero permitir las conexiones del puerto 80.

WilliamKF
fuente