IE tidak bekerja dengan port localhost +

25

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).

masukkan deskripsi gambar di sini

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:

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

masukkan deskripsi gambar di sini

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-8dan berdasarkan pada jawaban yang benar, seharusnya: Content-Type: text/html; charset=utf-8dengan spasi antara tipe dan charset.

Inilah hasilnya:

masukkan deskripsi gambar di sini

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.

mawcsco
sumber
1
Pilih untuk tangkapan layar.
Oxymoron
pertama, batalkan sebagian besar hal yang telah Anda coba, terutama penambahan ke zona Intranet. jika Anda ingin menambahkannya ke zona, gunakan situs Tepercaya.
Frank Thomas
@ FrankThomas Terima kasih telah mengingatkan saya. Saya sudah mencobanya tanpa hasil. Saya telah mengedit pertanyaan saya untuk mencerminkan hal itu.
mawcsco
Bisakah Anda memposting pengaturan bind Anda?
Vanadis
@Vanadis mengikat-pengaturan? Bisakah Anda mengklarifikasi?
mawcsco

Jawaban:

9

Artikel WWW3 Mengatur parameter charset HTTP menentukan:

Content-Type: text/html; charset=utf-8

Ini mendefinisikan Content-Typememiliki yang kosong sebelumnya charset.

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.

harrymc
sumber
1) Menggunakan nama mesin tidak memperbaiki situasi. 2) Saya sudah menggunakan Fiddler dan memasukkan hasilnya dalam posting saya. 3) Wireshark + pcap tidak dapat menangkap di localhost. Saya menggunakan RawCap + Wireshark dan hasilnya identik dengan Fiddler.
mawcsco
Secara identik, saya maksudkan bahwa paket-paket yang diterjemahkan itu terlihat hampir sama.
mawcsco
Saya belum "menyerah" pada Fiddler. Ini berfungsi dengan baik dan saya mendapatkan "hasil" yang sama: Chrome, Firefox, Opera terhubung dengan baik, IE tidak. Saya telah memposting respons permintaan yang mentah dan diterjemahkan dan semuanya tampak normal / tepat namun IE gagal menampilkan halaman.
mawcsco
Nasihat apa itu? Saya sudah mencoba nama mesinnya. Posting saya mengatakan itu. Sertifikat Fiddler Root hanya diperlukan untuk membuat koneksi SSL; Saya tidak perlu untuk itu (dan saya gagal melihat bagaimana ini bahkan akan membantu.) Saya sudah mencoba Wireshark, itu tidak mengungkapkan sesuatu yang baru. Fiddler berhasil menunjukkan bahwa permintaan / respons server baik-baik saja, yang saya simpulkan dengan melihat setiap browser lainnya berfungsi dengan baik. HANYA IE berperilaku berbeda.
mawcsco
Ya, "menggenggam sedotan" persis seperti ini rasanya. Aku kehabisan akal. UAC sudah dinonaktifkan, tidak ada bantuan di sana. Saya melihat ke masalah ruang charset, tapi saya tidak tahu bagaimana saya akan maju dengan itu. Saya mencari ke dalamnya.
mawcsco
3

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:

FEATURE_BROWSER_EMULATION

dan di dalamnya, buat nilai DWORD:

iexplorer.exe

dengan nilai salah satu dari berikut ini:

 IE8 - 8000 (or 8001)
 IE9 - 9000 (or 9001)
 IE10 - 10000 (or 10001)

Kami memiliki kesuksesan paling besar dengan 10001.

WreithKassan
sumber
Saya sudah menguji ini pada beberapa mesin, beberapa di antaranya memiliki "Windows" menginstal Windows dan IE.
mawcsco
Sudahkah Anda menjalankan IE dengan addon dinonaktifkan? Saya tahu Anda mengatakan itu adalah instalasi baru, tetapi kadang-kadang datang dikemas dengan mengasapi.
WreithKassan
Sekali lagi, instalasi baru Windows dan IE. Tidak ada pengaya yang diinstal.
mawcsco
Posting asli saya sudah menyatakan bahwa saya sudah mencoba 127.0.0.1. Saya akan mencoba trik "emulasi".
mawcsco
Oke, tidak ada nilai emulasi browser dalam jawaban ini yang berfungsi.
mawcsco
1

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).

Xavier J
sumber
Jelas tidak ada proxy yang terjadi di sini. Kami bahkan tidak menggunakan NAT. Diperbarui pertanyaan saya sesuai.
mawcsco
Yang mengatakan, kaitkan browser Anda dengan Fiddler dan lihat apa yang mungkin terjadi di bawah tenda. Coba beberapa situs yang berfungsi, lalu coba localhost dan tonton tampilan traffic. Terbaik yang bisa saya rekomendasikan. fiddler2.com
Xavier J
Jadi, Fiddler memperkenalkan proxy. Sekarang, di IE, saya melihat: "Server proxy tidak merespons." Namun, permintaan / respons di Fiddler menunjukkan semuanya baik-baik saja. Server merespons dengan tajuk yang diharapkan dan konten HTML. Tapi, bukan itu yang saya lihat di IE.
mawcsco
-1

Saya membuat perubahan ini, dan semua berfungsi dengan baik di windows 10 64 bit.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

pengguna728452
sumber
1
Saya tidak berpikir ini akan memperbaiki masalah OP - yang dikonfirmasikan sebagai respons HTTP Cntent-Type yang salah.
DavidPostill