Saya memiliki server NodeJS yang berjalan di mesin lokal saya untuk tujuan pengembangan. Secara default, ia menggunakan port 1337. (Saya sudah mencoba beberapa port lain seperti 8080, 1234, 9000, 9090, 65432 dkk).
Saya berhasil menghubungkan ke server NodeJS ini dari Chrome, Firefox, dan Opera. Tetapi, ketika saya mencoba terhubung dengan Internet Explorer 11, saya melihat "Halaman ini tidak dapat ditampilkan" (lihat gambar).
Saya sudah mencoba berbagai "solusi" dan melihat beberapa pertanyaan / jawaban di situs ini. Tak satu pun dari mereka yang bekerja. Termasuk:
- Saya sudah mencoba 127.0.0.1
- Saya telah menonaktifkan "Mode Terlindungi" dan "Mode Perlindungan yang Ditingkatkan."
- Saya telah menambahkan "localhost" ke Zona Intranet dan Zona Tepercaya.
- Saya telah menonaktifkan "Pesan HTTP ramah" dengan harapan dapat melihat lebih detail.
- Saya sudah mencoba menggunakan nama mesin dan nama DNS saya.
- Saya sudah mencoba membuat entri manual di file host saya untuk "localhost" dan bahkan "thisismyfrigginpc" menggunakan alamat IPv4 saya.
Satu-satunya keberhasilan yang saya miliki adalah ketika server berjalan di port 80 ( http://localhost:80/
atau http://localhost
). Namun, saya tidak dapat mengembangkan pada port 80 karena berbagai alasan. Saya perlu menguji kode saya di localhost + port (beberapa port, port apa saja selain 80 dan 443).
Pertanyaan dan jawaban yang tidak membantu:
- Mengapa saya tidak dapat mengunjungi http: // localhost via IE?
- Chrome dan Firefox dapat mencapai localhost; Internet Explorer 9 tidak bisa. Mengapa?
- Bagaimana cara menguji situs lokal di Metro IE10?
- /programming/19268956/can-not-access-localhostport
Tolong bantu!
BTW, Menjalankan Windows 7 Enterprise 64-bit. Penempatan perusahaan, tetapi saya memiliki hak admin. Konfigurasi jaringan adalah DHCP standar yang cantik tanpa NAT dan tanpa Proxy.
MEMPERBARUI
Atas rekomendasi dari @codenoire, saya menginstal Fiddler untuk melihat permintaan / respons. Berikut adalah permintaan dan tanggapan mentah dari IE-to-Fiddler-to-server-to-Fiddler:
Permintaan
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
Tanggapan
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>
Hasil
Pembaruan 2014-01-17
Saya telah menguji skenario ini pada instalasi Windows 7 non-perusahaan "bersih" dengan IE 11. Hasilnya identik dengan pengamatan saya saat ini. Ini berarti bahwa setiap konfigurasi yang dibuat oleh citra perusahaan Windows dapat dihilangkan sebagai penyebabnya. Juga, konfigurasi jaringan cukup "vanilla."
Pembaruan 2014-01-21
Saya sudah mencoba ide "emulasi" Internet Explorer. Saya membuat kunci, "iexplorer.exe" sebagai nilai DWORD dan QWORD (secara individual) dengan nilai-nilai 8000, 8001, 9000, 9001, 10000, and 10001
. Setelah masing-masing, reboot dan diuji lagi. Semua upaya ini menghasilkan hasil yang sama. Sebagai tambahan, kita perlu menguji kode ini di IE11. Berbagai kode dan trik kompatibilitas tidak benar-benar membantu kita dalam jangka panjang.
Pembaruan 2014-01-22
Mengaktifkan server XAMPP Apache pada port 1337. IE terhubung dengan baik. Jadi, ada sesuatu tentang respons NodeJS yang tidak disukai IE dan peramban lain tampaknya dapat menangani dengan baik. Kami akan menyelidiki kode NodeJS kami untuk melihat apa yang sebenarnya terjadi di header / konten untuk melihat apakah ada yang keluar dari jalur.
Pembaruan 2014-01-27: Resolusi
Saya hanya ingin mendokumentasikan hasilnya. Respons asli termasuk Content-Type: text/html;charset=utf-8
dan berdasarkan pada jawaban yang benar, seharusnya: Content-Type: text/html; charset=utf-8
dengan spasi antara tipe dan charset.
Inilah hasilnya:
Tanggapan mentah:
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>
Terima kasih kepada @harrymc karena mengungkap jawabannya.
sumber
Jawaban:
Artikel WWW3 Mengatur parameter charset HTTP menentukan:
Ini mendefinisikan
Content-Type
memiliki yang kosong sebelumnyacharset
.Saya tahu Anda telah mengetahui bahwa ini memang masalahnya, jadi sumber masalahnya adalah beberapa pemrograman yang sangat tidak imajinatif oleh Microsoft atau oleh proxy perantara.
sumber
Mungkin ada masalah dalam pengaturan Anda untuk IE.
Cara termudah untuk memperbaikinya adalah dengan membuka Opsi Internet, pergi ke tab lanjutan, dan klik "Reset Pengaturan Internet Explorer". Pastikan Anda memilih itu dan tidak "Reset Pengaturan Lanjut", karena ini tidak mencakup SEMUA pengaturan.
Jika ini tidak berhasil, coba juga navigasi menggunakan 127.0.0.1 bukan localhost. Ini tidak mungkin untuk menyelesaikan masalah, tetapi kadang-kadang bisa membuat masalah.
Sunting: Saya ingin menambahkan bahwa ini bisa menjadi masalah dengan IE11. Saya tahu bahwa kami telah mengalami banyak masalah kompatibilitas dengan itu. Jika Anda tidak ingin mengembalikan ke IE10 dan mencobanya, Anda selalu bisa meniru dari registri:
Dibawah
HKLM\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\
Anda akan membuat kunci yang disebut:
dan di dalamnya, buat nilai DWORD:
dengan nilai salah satu dari berikut ini:
Kami memiliki kesuksesan paling besar dengan 10001.
sumber
Periksa pengaturan proxy Anda. Karena Anda berada di jaringan perusahaan, seseorang mungkin memiliki kebijakan proxy yang tidak memadai dimasukkan ke IE Anda (yang tidak harus mencerminkan ke browser lain).
sumber
Saya membuat perubahan ini, dan semua berfungsi dengan baik di windows 10 64 bit.
sumber