Tengo un servidor NodeJS ejecutándose en mi máquina local para fines de desarrollo. Por defecto, usa el puerto 1337. (He probado un puñado de otros puertos como 8080, 1234, 9000, 9090, 65432 y otros).
Puedo conectarme con éxito a este servidor NodeJS desde Chrome, Firefox y Opera. Pero, cuando intento conectarme con Internet Explorer 11, veo "Esta página no se puede mostrar" (ver imagen).
He intentado una variedad de "soluciones" y he visto varias preguntas / respuestas en este sitio. Ninguno de ellos ha trabajado. Incluso:
- He intentado 127.0.0.1
- He desactivado "Modo protegido" y "Modo de protección mejorada".
- He agregado "localhost" a la Zona Intranet y a la Zona Trusted.
- He desactivado "Mensajes HTTP amigables" con la esperanza de ver más detalles.
- Intenté usar el nombre de mi máquina y el nombre DNS.
- Intenté crear una entrada manual en mi archivo de hosts para "localhost" e incluso "thisismyfrigginpc" usando mi dirección IPv4.
El único éxito que he tenido es cuando el servidor se ejecuta en el puerto 80 ( http://localhost:80/
o http://localhost
). Sin embargo, no puedo desarrollar en el puerto 80 por una variedad de razones. Necesito probar mi código en localhost + port (algún puerto, cualquier puerto que no sea 80 y 443).
Preguntas y respuestas que no ayudan:
- ¿Por qué no puedo visitar http: // localhost a través de IE?
- Chrome y Firefox pueden llegar a localhost; Internet Explorer 9 no puede. ¿Por qué?
- ¿Cómo probar sitios locales en Metro IE10?
- /programming/19268956/can-not-access-localhostport
¡Por favor ayuda!
Por cierto, ejecutando Windows 7 Enterprise de 64 bits. Despliegue corporativo, pero tengo derechos de administrador. La configuración de red es DHCP bastante estándar sin NAT y sin Proxy.
ACTUALIZAR
Por recomendación de @codenoire, instalé Fiddler para ver la solicitud / respuesta. A continuación se muestran la solicitud y la respuesta sin formato de IE-a-Fiddler-to-server-to-Fiddler:
Solicitud
GET http://localhost:1337/common/test.html HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: localhost:1337
Respuesta
HTTP/1.1 200 OK
Set-Cookie: _session=WRuVLmrXMtjnDJY8;expires=Wed, 15 Jan 2014 23:19:16 GMT;path=/;domain=;httponly
Content-Type: text/html;charset=utf-8
Last-Modified: 1389818856000
Date: Wed, 15 Jan 2014 22:19:16 GMT
Connection: keep-alive
Content-Length: 128
<html>
<head>
<title>Connectivity Test Page</title>
</head>
<body>
<h1>This is a test page.</h1>
</body>
</html>
Resultado
Actualizar 2014-01-17
He probado este escenario en instalaciones de Windows 7 no corporativas "limpias" con IE 11. Los resultados son idénticos a mis observaciones permanentes. Esto significa que cualquier configuración realizada por una imagen corporativa de Windows puede eliminarse como causa. Además, la configuración de red es bastante "vainilla".
Actualizar 21-01-2014
He probado las ideas de "emulación" de Internet Explorer. Creé una clave, "iexplorer.exe" como valores DWORD y QWORD (individualmente) con los valores8000, 8001, 9000, 9001, 10000, and 10001
. Después de cada uno, reiniciado y probado de nuevo. Todos estos intentos produjeron los mismos resultados. Como comentario aparte, debemos probar este código en IE11. Los diversos códigos y trucos de compatibilidad en realidad no nos ayudan a largo plazo.
Actualizar 2014-01-22
Encendió un servidor XAMPP Apache en el puerto 1337. IE se conecta muy bien. Entonces, hay algo en la respuesta de NodeJS que a IE no le gusta y los otros navegadores parecen manejarse bien. Investigaremos nuestro código NodeJS para ver qué sucede exactamente en los encabezados / contenido para ver si algo está fuera de línea.
Actualización 2014-01-27: Resolución
Solo quería documentar los resultados. La respuesta original incluía Content-Type: text/html;charset=utf-8
y según la respuesta correcta, debería ser: Content-Type: text/html; charset=utf-8
con un espacio entre el tipo y el juego de caracteres.
Aquí están los resultados:
Respuesta sin procesar:
HTTP/1.1 200 OK
Set-Cookie: _session=EshWS7xDnCeV9pXS;expires=Mon, 27 Jan 2014 18:49:21 GMT;path=/;domain=;httponly
Date: Mon, 27 Jan 2014 17:49:21 GMT
Last-Modified: 1389818856000
Content-Type: text/html; charset=UTF-8
Content-Length: 128
Connection: keep-alive
<html>
<head>
<title>Connectivity Test Page</title>
</head>
<body>
<h1>This is a test page.</h1>
</body>
</html>
Gracias a @harrymc por descubrir la respuesta.