IE ไม่ทำงานกับพอร์ต localhost +


25

ฉันมีเซิร์ฟเวอร์ NodeJS ที่ทำงานบนเครื่องท้องถิ่นเพื่อการพัฒนา โดยค่าเริ่มต้นจะใช้พอร์ต 1337 (ฉันได้ลองพอร์ตจำนวนหนึ่งเช่น 8080, 1234, 9000, 9090, 65432 และอื่น ๆ )

ฉันสามารถเชื่อมต่อกับเซิร์ฟเวอร์ NodeJS นี้ได้สำเร็จจาก Chrome, Firefox และ Opera แต่เมื่อฉันพยายามเชื่อมต่อกับ Internet Explorer 11 ฉันเห็น "หน้านี้ไม่สามารถแสดงได้" (ดูภาพ)

ป้อนคำอธิบายรูปภาพที่นี่

ฉันได้ลองใช้ "วิธีแก้ปัญหา" ที่หลากหลายและดูคำถาม / คำตอบหลายข้อในเว็บไซต์นี้ ไม่มีใครทำงานได้เลย รวมไปถึง:

  • ฉันได้ลอง 127.0.0.1 แล้ว
  • ฉันปิดใช้งาน "โหมดที่ได้รับการป้องกัน" และ "โหมดการป้องกันขั้นสูง"
  • ฉันได้เพิ่ม "localhost" ลงใน Intranet Zone และ Trusted Zone
  • ฉันปิดใช้งาน "ข้อความ HTTP ที่เป็นมิตร" โดยหวังว่าจะเห็นรายละเอียดเพิ่มเติม
  • ฉันลองใช้ชื่อเครื่องและชื่อ DNS
  • ฉันพยายามสร้างรายการด้วยตนเองในไฟล์ hosts สำหรับ "localhost" และแม้แต่ "thisismyfrigginpc" โดยใช้ที่อยู่ IPv4 ของฉัน

ความสำเร็จเดียวที่ฉันมีคือเมื่อเซิร์ฟเวอร์ทำงานที่พอร์ต 80 ( http://localhost:80/หรือhttp://localhost) อย่างไรก็ตามฉันไม่สามารถพัฒนาบนพอร์ต 80 ได้ด้วยเหตุผลหลายประการ ฉันต้องทดสอบโค้ดของฉันบน localhost + พอร์ต (บางพอร์ตพอร์ตอื่นที่ไม่ใช่ 80 และ 443)

คำถามและคำตอบที่ไม่ช่วย:

กรุณาช่วย!

BTW การเรียกใช้ Windows 7 Enterprise 64 บิต การปรับใช้องค์กร แต่ฉันมีสิทธิ์ผู้ดูแลระบบ การกำหนดค่าเครือข่ายค่อนข้างมาตรฐาน DHCP ที่ไม่มี NAT และไม่มีพร็อกซี

UPDATE

ตามคำแนะนำจาก @codenoire ฉันติดตั้ง Fiddler เพื่อดูคำขอ / ตอบกลับ ด้านล่างนี้เป็นคำขอและการตอบกลับแบบดิบจาก IE-to-Fiddler-to-server-to-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

ฉันได้ทดสอบสถานการณ์นี้ในการติดตั้ง "clean" ที่ไม่ใช่องค์กรของ 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: การแก้ปัญหา

ฉันแค่ต้องการเอกสารผลลัพธ์ การตอบสนองดั้งเดิมรวมเนื้อหาประเภท: 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 ที่เปิดเผยคำตอบ


1
โหวตขึ้นสำหรับภาพหน้าจอ
Oxymoron

ก่อนอื่นให้ยกเลิกสิ่งที่คุณได้ลองไปโดยเฉพาะอย่างยิ่งส่วนต่อเติมของอินทราเน็ต หากคุณกำลังจะเพิ่มลงในโซนให้ใช้ไซต์ที่เชื่อถือได้
แฟรงค์โทมัส

@ Frankthomas ขอบคุณที่เตือนฉัน ฉันลองแล้วโดยไม่ประสบความสำเร็จ ฉันได้แก้ไขคำถามของฉันเพื่อสะท้อนว่า
mawcsco

คุณช่วยกรุณาโพสต์การตั้งค่าการผูกของคุณ?
Vanadis

@Vanadis ผูกการตั้งค่า? คุณช่วยอธิบายได้ไหม
mawcsco

คำตอบ:


9

บทความ WWW3 การตั้งค่าพารามิเตอร์ charset HTTPระบุ:

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

กำหนดนี้ว่ามีว่างก่อนContent-Typecharset

ฉันรู้ว่าคุณได้พบแล้วว่านี่เป็นปัญหาดังนั้นแหล่งที่มาของปัญหาคือการเขียนโปรแกรมแบบไม่น่าเชื่อมาก ๆ โดย Microsoft หรือโดยพร็อกซีชายกลางคนหนึ่ง


1) การใช้ชื่อเครื่องไม่สามารถแก้ไขสถานการณ์ 2) ฉันได้ใช้ Fiddler แล้วและรวมผลลัพธ์ไว้ในโพสต์ของฉัน 3) Wireshark + pcap ไม่สามารถจับภาพบน localhost ฉันใช้ RawCap + Wireshark และผลลัพธ์นั้นเหมือนกับ Fiddler
mawcsco

เหมือนกันฉันหมายถึงแพ็คเก็ตที่ถอดรหัสแล้วดูเหมือนกันมาก
mawcsco

ฉันไม่ได้ "เลิกใช้" บน Fiddler มันใช้งานได้ดีและฉันได้รับ "ผลลัพธ์" เดียวกัน: Chrome, Firefox, Opera เชื่อมต่อได้ดี IE ไม่ได้ ฉันโพสต์คำขอตอบกลับแบบดิบและถอดรหัสและทุกอย่างดูปกติ / เหมาะสมและ IE ก็ล้มเหลวในการแสดงหน้า
mawcsco

คำแนะนำคืออะไร? ฉันได้ลองใช้ชื่อเครื่องแล้ว โพสต์ของฉันบอกว่า Fiddler Root Certificate นั้นจำเป็นสำหรับการเชื่อมต่อ SSL เท่านั้น ฉันไม่ต้องการสิ่งนั้น (และฉันล้มเหลวในการดูว่าสิ่งนี้จะช่วยได้อย่างไร) ฉันลองใช้ Wireshark แล้วมันไม่ได้เปิดเผยอะไรใหม่ Fiddler แสดงให้เห็นว่าการร้องขอ / ตอบกลับของเซิร์ฟเวอร์นั้นดีซึ่งฉันอนุมานได้จากการที่เบราว์เซอร์อื่น ๆ ทำงานได้ดี IE เท่านั้นทำงานแตกต่างกัน
mawcsco

ใช่ "การจับฟาง" เป็นสิ่งที่รู้สึกอย่างนี้ ฉันใกล้ถึงจุดสิ้นสุดแล้ว UAC ถูกปิดใช้งานแล้วไม่มีความช่วยเหลือ ฉันกำลังดูปัญหาพื้นที่ชุดตัวอักษร แต่ฉันไม่รู้ว่าฉันจะไปพูดกับเรื่องนั้นยังไง ฉันกำลังมองหามัน
mawcsco

3

อาจมีปัญหาในการตั้งค่าของคุณสำหรับ IE

วิธีที่ง่ายที่สุดในการแก้ไขปัญหานี้ก็คือเปิดตัวเลือกอินเทอร์เน็ตไปที่แท็บขั้นสูงแล้วคลิก "รีเซ็ตการตั้งค่า Internet Explorer" ตรวจสอบให้แน่ใจว่าคุณเลือกและไม่ "รีเซ็ตการตั้งค่าขั้นสูง" เนื่องจากไม่ได้รวมการตั้งค่าทั้งหมดไว้

หากวิธีนี้ใช้ไม่ได้ผลโปรดลองใช้การนำทางโดยใช้ 127.0.0.1 แทน localhost นี่ไม่น่าจะแก้ไขปัญหาได้ แต่บางครั้งก็สามารถสร้างปัญหาได้

แก้ไข: ฉันต้องการเพิ่มว่านี่อาจเป็นปัญหากับ IE11 ฉันรู้ว่าเรามีปัญหาความเข้ากันได้มากมายกับมัน หากคุณไม่ต้องการย้อนกลับไปที่ IE10 และลองทำเช่นนั้นคุณสามารถเลียนแบบได้จากรีจิสทรี:

ภายใต้

HKLM\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\

คุณจะสร้างรหัสที่เรียกว่า:

FEATURE_BROWSER_EMULATION

และข้างในนั้นสร้างค่า DWORD:

iexplorer.exe

ด้วยค่าใดค่าหนึ่งต่อไปนี้:

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

เราประสบความสำเร็จมากที่สุดด้วย 1,0001


ฉันได้ทำการทดสอบกับเครื่องหลายเครื่องแล้วหนึ่งกำมือซึ่งติดตั้ง Windows และ IE ใหม่
mawcsco

คุณใช้งาน IE โดยปิดการใช้งานแอดออนหรือไม่? ฉันรู้ว่าคุณบอกว่าเป็นการติดตั้งใหม่ แต่บางครั้งมันก็มาพร้อมกับแพ็ค
WreithKassan

ติดตั้ง Windows และ IE ใหม่ ไม่มีการติดตั้งส่วนเสริม
mawcsco

โพสต์ต้นฉบับของฉันระบุว่าฉันได้ลอง 127.0.0.1 แล้ว ฉันจะลองใช้เคล็ดลับ "การจำลอง"
mawcsco

ตกลงไม่มีค่าการจำลองเบราว์เซอร์ในคำตอบนี้ใช้งานได้
mawcsco

1

ตรวจสอบการตั้งค่าพร็อกซีของคุณ เนื่องจากคุณอยู่ในเครือข่ายขององค์กรบางคนอาจมีนโยบายพร็อกซีที่ไม่เพียงพอใน IE ของคุณ


ไม่มีพร็อกซีเกิดขึ้นที่นี่แน่นอน เราไม่ได้ใช้ NAT อัปเดตคำถามของฉันตามนั้น
mawcsco

ที่กล่าวว่าขอติดตั้งเบราว์เซอร์ของคุณกับ Fiddler และดูสิ่งที่อาจเกิดขึ้นภายใต้ประทุน ลองบางไซต์ที่ใช้งานได้จากนั้นลองโฮสต์ท้องถิ่นและดูการแสดงผลการรับส่งข้อมูล ดีที่สุดที่ฉันสามารถแนะนำ fiddler2.com
Xavier J

Fiddler แนะนำพร็อกซี ตอนนี้ใน IE ฉันเห็น: "พร็อกซีเซิร์ฟเวอร์ไม่ตอบสนอง" อย่างไรก็ตามคำขอ / ตอบกลับใน Fiddler แสดงให้เห็นว่าทุกอย่างก็โอเค เซิร์ฟเวอร์ตอบกลับด้วยส่วนหัวที่คาดหวังและเนื้อหา HTML แต่นั่นไม่ใช่สิ่งที่ฉันเห็นใน IE
mawcsco

-1

ฉันทำการเปลี่ยนแปลงนี้และทำงานได้ดีบน windows 10 64 บิต

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


1
ฉันไม่คิดว่าสิ่งนี้จะแก้ไขปัญหา OPs ได้ - ซึ่งได้รับการยืนยันว่าเป็นคำตอบ Cntent-Type HTTP ที่ผิดรูปแบบ
DavidPostill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.