У мене для розробки працює сервер NodeJS на моїй локальній машині. За замовчуванням він використовує порт 1337. (Я спробував кілька інших портів, таких як 8080, 1234, 9000, 9090, 65432 та ін.).
Я можу успішно підключитися до цього сервера NodeJS з Chrome, Firefox та Opera. Але коли я намагаюся підключитися до Internet Explorer 11, я бачу "Цю сторінку не можна відобразити" (див. Зображення).
Я спробував різноманітні "рішення" і переглянув кілька питань / відповідей на цьому сайті. Жоден з них не працював. У тому числі:
- Я спробував 127.0.0.1
- Я вимкнув "Захищений режим" та "Розширений режим захисту".
- Я додав "localhost" до інтранет-зони та довіреної зони.
- Я відключив "Дружні повідомлення HTTP", сподіваючись побачити більше деталей.
- Я спробував використовувати ім’я машини та ім’я DNS.
- Я спробував створити вручну запис у своєму файлі хостів для "localhost" і навіть "thisismyfrigginpc" за допомогою моєї IPv4 адреси.
Єдиний успіх у мене - це коли сервер працює на порту 80 ( http://localhost:80/
або http://localhost
). Однак я не можу розвиватися на порту 80 з різних причин. Мені потрібно перевірити свій код на localhost + порт (якийсь порт, будь-який порт, крім 80 і 443).
Питання та відповіді, які не допомагають:
- Чому я не можу відвідувати http: // localhost через IE?
- Chrome і Firefox можуть дістатися до localhost; Internet Explorer 9 не може. Чому?
- Як протестувати локальні сайти в Metro IE10?
- /programming/19268956/can-not-access-localhostport
Будь ласка, допоможіть!
BTW, Запуск Windows 7 Enterprise 64-розрядної. Корпоративне розгортання, але я маю права адміністратора. Конфігурація мережі - це досить стандартний DHCP, без NAT і проксі.
ОНОВЛЕННЯ
За рекомендацією від @codenoire я встановив Fiddler, щоб побачити запит / відповідь. Нижче наведено необроблений запит і відповідь від IE до Fiddler від сервера до Fiddler:
Запит
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
Відповідь
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>
Результат
Оновлення 2014-01-17
Я перевіряв цей сценарій на «чистих» некорпоративних установках Windows 7 з IE 11. Результати ідентичні моїм постійним спостереженням. Це означає, що будь-яка конфігурація, зроблена за допомогою корпоративного образу Windows, може бути усунена як причина. Також конфігурація мережі є досить «ванільною».
Оновлення 2014-01-21
Я спробував ідеї "емуляції" Internet Explorer. Я створив ключ "iexplorer.exe" як значення DWORD, так і QWORD (окремо) зі значеннями 8000, 8001, 9000, 9001, 10000, and 10001
. Після кожного перезавантажуємо і тестуємо знову. Усі ці спроби дали однакові результати. Як сторону нам потрібно перевірити цей код в IE11. Різні коди та хитрощі сумісності насправді не допомагають нам у довгостроковій перспективі.
Оновлення 2014-01-22
Запустив сервер XAMPP Apache на порт 1337. IE підключається до нього просто чудово. Отже, є щось у відповіді NodeJS, що IE не подобається, а інші браузери, здається, справляються добре. Ми будемо досліджувати наш код NodeJS, щоб побачити, що саме відбувається в заголовках / вмісті, щоб побачити, чи щось не відповідає.
Оновлення 2014-01-27: Постанова
Я просто хотів зафіксувати результати. Оригінальна відповідь містила Content-Type: text/html;charset=utf-8
і на основі правильної відповіді вона повинна бути: Content-Type: text/html; charset=utf-8
з пробілом між типом та діаграмою.
Ось результати:
Сира відповідь:
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>
Дякуємо @harrymc за розкриття відповіді.