Mi máquina ejecuta Windows 7 Ultimate. Esto es lo que he hecho (con éxito) hasta ahora:
- Instalé IIS 7.5 con PHP sobre FastCGI
- Lo tengo funcionando! Cuando voy a http: //localhost/index.php , mis scripts PHP funcionan bien.
- Ejecuté ipconfig para descubrir que mi dirección IP local es 192.168.1.102. Confirmé que http://192.168.1.102/index.php funciona exactamente como la dirección localhost anterior.
- Ingresé a la administración de mi enrutador (tengo un Linksys WRT54G2) y configuré el reenvío de puertos en el puerto 80 a 192.168.1.102. Ahora el puerto 80 está reenviando a mi máquina.
- Configure una regla de entrada en el Firewall de Windows para permitir toda la actividad en el puerto 80.
- Descubrí cuál es mi dirección IP externa de Google. Llamémoslo XXX.XX.XX.XX.
Sin embargo, cuando intento ir a http: //XXX.XX.XX.XX/index.php desde mi propia máquina, o desde una computadora lejana y no en mi red, de cualquier manera ... no obtengo nada. Intenta conectarse por un tiempo (sin éxito) pero finalmente se da por vencido.
Esto es lo que me pregunto:
- ¿Qué me estoy perdiendo? ¿Qué olvidé / pasé por alto? ¿Cómo hago que esto funcione y sea accesible fuera de mi propia red local?
- Suponiendo que esto funcione, ¿cómo puedo usar un puerto que no sea el puerto 80? ¿Qué cambios necesitaría hacer (por ejemplo, IIS, Firewall de Windows, administración de enrutadores, etc.) para que eso sea posible?
Muchas gracias de antemano!
iis
router
iis-7.5
port-forwarding
windows-firewall
Soapergem
fuente
fuente
Respuestas:
Esto suena como un problema HTTP.SYS que está teniendo.
A continuación se muestra un extracto del blog de Scott Hanselman que describe cómo exponer IISExpress fuera de localhost. La publicación del blog es más larga y también describe cómo conectar SSL. Pero creo que los comandos que he publicado a continuación, que saqué de su publicación, lo ayudarán a resolver el problema que está teniendo.
Es posible que no necesite el último comando ya que declara que ya creó una regla de firewall.
fuente
(Acceso desde fuera de su red) Muchos ISP residenciales (y algunos ISP comerciales) bloquearán el tráfico entrante en ciertos puertos de servicio, como el puerto 80 o 25. Esto generalmente es para evitar que ejecute servicios comerciales en una línea residencial debido al uso de ancho de banda. La alternativa es ejecutarlo en otro puerto (ver más abajo).
(Acceso desde dentro de su red) La situación que está describiendo suena como una horquilla NAT. Aquí hay una buena descripción general de alto nivel de Hairpin NAT . Deberá agregar reglas NAT a su enrutador para que siempre el tráfico destinado a su IP externa, el puerto 80 pase a través de su enrutador y no directamente de host a host dentro de su red. Advertencia: es posible que su enrutador no pueda hacer esto.
Cambie el enlace del puerto en IIS, luego reinicie el sitio web.
fuente
Yo tuve el mismo problema. Firewall de Windows está bloqueando el acceso. Apáguelo y verifíquelo nuevamente. Supongo que funcionará.
fuente