Geliştirme amaçlı olarak yerel makinemde çalışan bir NodeJS sunucum var. Varsayılan olarak, 1337 numaralı bağlantı noktasını kullanır. (8080, 1234, 9000, 9090, 65432 ve ark.
Bu NodeJS sunucusuna Chrome, Firefox ve Opera'dan başarıyla bağlanabiliyorum. Ancak, Internet Explorer 11 ile bağlanmaya çalıştığımda, "Bu sayfa görüntülenemiyor" u görüyorum (resme bakın).
Çeşitli "çözümler" denedim ve bu sitede birkaç soru / cevap izledim. Hiçbiri işe yaramadı. Dahil olmak üzere:
- 127.0.0.1'i denedim
- "Koruma Modu" ve "Gelişmiş Koruma Modu" nu devre dışı bıraktım.
- Intranet Bölgesine ve Güvenilir Bölgeye "localhost" ekledim.
- Daha fazla detay görmeyi ümit ederek "Friendly HTTP mesajlarını" devre dışı bıraktım.
- Makine adımı ve DNS adımı kullanmayı denedim.
- IPv4 adresimi kullanarak hosts dosyamda "localhost" ve hatta "thisismyfrigginpc" için manuel bir giriş oluşturmayı denedim.
Sahip olduğum tek başarı, sunucunun 80 ( http://localhost:80/
veya http://localhost
) numaralı bağlantı noktasında çalıştığı zamandır . Ancak, çeşitli nedenlerden dolayı 80 numaralı bağlantı noktasını geliştiremiyorum. Kodumu localhost + port'ta test etmem gerekiyor (bazı portlar, 80 ve 443 dışındaki herhangi bir port).
Yardım etmeyen sorular ve cevaplar:
- Neden IE üzerinden http: // localhost adresini ziyaret edemiyorum?
- Chrome ve Firefox yerel ana bilgisayara erişebilir; Internet Explorer 9 yapamaz. Niye ya?
- Metro IE10'da yerel siteler nasıl test edilir?
- /programming/19268956/can-not-access-localhostport
Lütfen yardım et!
BTW, Windows 7 Enterprise 64 bit çalıştırılıyor. Kurumsal dağıtım, ancak yönetici haklarım var. Ağ yapılandırması, NAT ve Proxy içermeyen oldukça standart DHCP'dir.
GÜNCELLEŞTİRME
@Codenoire tarafından yapılan öneri üzerine, isteği / yanıtı görmek için Fiddler'ı kurdum. Aşağıda IE-to-Fiddler'dan-to-to-Fiddler'a gelen ham istek ve cevap verilmiştir:
İstek
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
Tepki
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>
Sonuç
Güncelleme 2014-01-17
Bu senaryoyu IE 11 içeren "temiz" kurumsal olmayan Windows 7 kurulumlarında test ettim. Sonuçlar, gözlemlerimle aynı. Bu, bir Windows kurumsal imajı tarafından yapılan herhangi bir yapılandırmanın sebep olarak ortadan kaldırılabileceği anlamına gelir. Ayrıca, ağ yapılandırması oldukça "vanilya" dır.
Güncelleme 2014-01-21
Internet Explorer'ın "öykünme" fikirlerini denedim. "İexplorer.exe" anahtarını DWORD ve QWORD değerleri olarak (bireysel olarak) değerleri ile oluşturdum 8000, 8001, 9000, 9001, 10000, and 10001
. Her şeyden sonra, yeniden başlatıldı ve tekrar test edildi. Bütün bu girişimler aynı sonuçları vermiştir. Bir kenara, bu kodu IE11’de test etmemiz gerekiyor. Çeşitli uyumluluk kuralları ve püf noktaları aslında uzun vadede bize yardımcı olmuyor.
Güncelleme 2014-01-22
1337 numaralı bağlantı noktasında bir XAMPP Apache sunucusu başlatıldı. IE buna çok iyi bağlandı. Yani, IE'nin sevmediği ve diğer tarayıcıların iyi idare ettiği görünen NodeJS yanıtı hakkında bir şey var. NodeJS kodumuzu, başlıkların / içeriğin tam olarak ne olup bittiğini görmek için tam olarak ne olduğunu görmek için araştırıyoruz.
2014-01-27 Güncellemesi: Çözünürlük
Sadece sonuçları belgelemek istemiştim. Orijinal cevap, Content-Type içeriyordu: text/html;charset=utf-8
ve doğru cevaba göre, şöyle olmalı: Content-Type: text/html; charset=utf-8
tip ile karakter kümesi arasında bir boşluk bırakılmalıdır .
Sonuçlar burada:
Ham Tepki:
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 cevabını açığa çıkarmak için teşekkür ederiz.