IE không hoạt động với cổng localhost +


25

Tôi có một máy chủ NodeJS chạy trên máy cục bộ của mình cho mục đích phát triển. Theo mặc định, nó sử dụng cổng 1337. (Tôi đã thử một số cổng khác như 8080, 1234, 9000, 9090, 65432 et al).

Tôi có thể kết nối thành công với máy chủ NodeJS này từ Chrome, Firefox và Opera. Nhưng, khi tôi cố gắng kết nối với Internet Explorer 11, tôi thấy "Trang này không thể hiển thị" (xem hình ảnh).

nhập mô tả hình ảnh ở đây

Tôi đã thử nhiều "giải pháp" và xem một số câu hỏi / câu trả lời trên trang web này. Không ai trong số họ đã làm việc. Kể cả:

  • Tôi đã thử 127.0.0.1
  • Tôi đã tắt "Chế độ bảo vệ" và "Chế độ bảo vệ nâng cao."
  • Tôi đã thêm "localhost" vào Vùng Intranet và Vùng tin cậy.
  • Tôi đã tắt "Tin nhắn HTTP thân thiện" với hy vọng xem chi tiết hơn.
  • Tôi đã thử sử dụng tên máy và tên DNS của mình.
  • Tôi đã thử tạo một mục nhập thủ công trong tệp máy chủ của mình cho "localhost" và thậm chí "thisismyfrigginpc" bằng địa chỉ IPv4 của tôi.

Thành công duy nhất tôi có là khi máy chủ chạy ở cổng 80 ( http://localhost:80/hoặc http://localhost). Tuy nhiên, tôi không thể phát triển trên cổng 80 vì nhiều lý do. Tôi cần kiểm tra mã của mình trên cổng localhost + (một số cổng, bất kỳ cổng nào ngoài 80 và 443).

Câu hỏi và câu trả lời không giúp ích:

Hãy giúp tôi!

BTW, Chạy Windows 7 Enterprise 64-bit. Triển khai công ty, nhưng tôi có quyền quản trị. Cấu hình mạng là DHCP khá chuẩn không có NAT và không có Proxy.

CẬP NHẬT

Theo khuyến nghị từ @codenoire, tôi đã cài đặt Fiddler để xem yêu cầu / phản hồi. Dưới đây là yêu cầu và phản hồi thô từ IE-to-Fiddler-to-server-to-Fiddler:

Yêu cầu

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

Phản ứng

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>

Kết quả

nhập mô tả hình ảnh ở đây

Cập nhật 2014-01-17

Tôi đã thử nghiệm kịch bản này trên các bản cài đặt Windows 7 phi công ty "sạch" với IE 11. Kết quả giống hệt với các quan sát thường trực của tôi. Điều này có nghĩa là bất kỳ cấu hình nào được tạo bởi hình ảnh công ty của Windows đều có thể được loại bỏ là nguyên nhân. Ngoài ra, cấu hình mạng khá "vanilla".

Cập nhật 2014-01-21

Tôi đã thử các ý tưởng "mô phỏng" Internet Explorer. Tôi đã tạo một khóa, "iexplorer.exe" là cả hai giá trị DWORD và QWORD (riêng lẻ) với các giá trị 8000, 8001, 9000, 9001, 10000, and 10001. Sau mỗi lần, khởi động lại và thử nghiệm lại. Tất cả những nỗ lực này tạo ra kết quả tương tự. Bên cạnh đó, chúng ta cần kiểm tra mã này trong IE11. Các mã và thủ thuật tương thích khác nhau không thực sự giúp chúng ta về lâu dài.

Cập nhật 2014-01-22

Đã kích hoạt máy chủ XAMPP Apache trên cổng 1337. IE kết nối với nó rất tốt. Vì vậy, có một cái gì đó về phản hồi NodeJS mà IE không thích và các trình duyệt khác dường như xử lý tốt. Chúng tôi sẽ điều tra mã NodeJS của chúng tôi để xem chính xác điều gì đang xảy ra trong các tiêu đề / nội dung để xem có gì không phù hợp không.

Cập nhật 2014-01-27: Nghị quyết

Tôi chỉ muốn ghi lại kết quả. Phản hồi ban đầu bao gồm Kiểu nội dung: text/html;charset=utf-8và dựa trên câu trả lời đúng, nên là: Content-Type: text/html; charset=utf-8với khoảng trắng giữa loại và bảng mã.

Đây là kết quả:

nhập mô tả hình ảnh ở đây

Phản hồi thô:

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>

Cảm ơn @harrymc đã khám phá ra câu trả lời.


1
Bình chọn cho ảnh chụp màn hình.
Oxymoron

trước hết, hoàn tác hầu hết những thứ bạn đã thử, đặc biệt là bổ sung vào vùng Intranet. nếu bạn định thêm nó vào một vùng, hãy sử dụng các trang đáng tin cậy.
Frank Thomas

@FrankThomas Cảm ơn đã nhắc nhở tôi. Tôi đã thử điều đó mà không thành công. Tôi đã chỉnh sửa câu hỏi của mình để phản ánh điều đó.
mawcsco

Bạn có thể vui lòng gửi cài đặt liên kết của bạn?
Vanadis

@Vanadis liên kết cài đặt? Bạn có thể làm rõ?
mawcsco

Câu trả lời:


9

Bài viết WWW3 Đặt tham số bộ ký tự HTTP chỉ định:

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

Điều này định nghĩa Content-Typelà có một khoảng trống trước charset.

Tôi biết rằng bạn đã phát hiện ra rằng đây thực sự là vấn đề, vì vậy nguồn gốc của vấn đề là một số chương trình rất không tưởng tượng của Microsoft hoặc bởi một số proxy trung gian.


1) Sử dụng tên máy không khắc phục tình hình. 2) Tôi đã sử dụng Fiddler và đưa kết quả vào bài viết của mình. 3) Wireshark + pcap không thể chụp trên localhost. Tôi đã sử dụng RawCap + Wireshark và kết quả giống hệt với Fiddler.
mawcsco

Tương tự, tôi có nghĩa là các gói được giải mã trông khá giống nhau.
mawcsco

Tôi chưa "từ bỏ" trên Fiddler. Nó hoạt động tốt và tôi nhận được "kết quả" tương tự: Chrome, Firefox, Opera kết nối tốt, IE thì không. Tôi đã đăng phản hồi yêu cầu thô, được giải mã và mọi thứ trông bình thường / phù hợp và IE không hiển thị trang.
mawcsco

Lời khuyên đó là gì? Tôi đã thử tên máy. Bài viết của tôi nói rằng. Chứng chỉ gốc Fiddler chỉ cần thiết để tạo kết nối SSL; Tôi không cần điều đó (và tôi không thấy điều này thậm chí sẽ giúp ích như thế nào.) Tôi đã dùng thử Wireshark, nó không tiết lộ bất cứ điều gì mới. Fiddler đã chỉ ra thành công rằng yêu cầu / phản hồi của máy chủ là tốt, điều mà tôi đã suy luận bằng cách thấy mọi trình duyệt khác đều hoạt động tốt. CHỈ IE đang hành xử khác đi.
mawcsco

Vâng, "nắm lấy ống hút" chính xác là cảm giác này. Bó tay. UAC đã bị vô hiệu hóa, không có trợ giúp ở đó. Tôi đang xem xét vấn đề không gian ký tự, nhưng tôi không biết mình sẽ làm thế nào với điều đó. Tôi đang nhìn vào nó.
mawcsco

3

Có thể có một vấn đề trong cài đặt của bạn cho IE.

Cách dễ nhất để khắc phục điều này là mở Tùy chọn Internet, chuyển đến tab nâng cao và nhấp vào "Đặt lại cài đặt Internet Explorer". Đảm bảo bạn chọn điều đó và không "Đặt lại cài đặt nâng cao", vì cài đặt này không bao gồm TẤT CẢ cài đặt.

Nếu điều này không hoạt động, vui lòng thử điều hướng bằng cách sử dụng 127.0.0.1 thay vì localhost. Điều này không có khả năng giải quyết vấn đề, nhưng đôi khi có thể tạo ra một vấn đề.

Chỉnh sửa: Tôi muốn thêm rằng đây có thể là một vấn đề với IE11. Tôi biết rằng chúng tôi đã có rất nhiều vấn đề tương thích với nó. Nếu bạn không muốn quay trở lại IE10 và thử điều đó, bạn luôn có thể Thi đua từ sổ đăng ký:

Dưới

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

bạn sẽ tạo một khóa gọi là:

FEATURE_BROWSER_EMULATION

và bên trong nó, tạo một giá trị DWORD:

iexplorer.exe

với giá trị của một trong những điều sau đây:

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

Chúng tôi đã có nhiều thành công nhất với 10001.


Tôi đã thử nghiệm điều này trên một số máy, một số ít có cài đặt Windows và IE "mới".
mawcsco

Bạn đã chạy IE với addons bị vô hiệu hóa? Tôi biết bạn nói rằng đó là một bản cài đặt mới, nhưng đôi khi nó được đóng gói sẵn với bloat.
WreithKassan

Một lần nữa, một bản cài đặt mới của Windows và IE. Không có tiện ích cài đặt.
mawcsco

Bài viết gốc của tôi đã nói rằng tôi đã thử 127.0.0.1. Tôi sẽ thử thủ thuật "thi đua".
mawcsco

Ok, không có giá trị mô phỏng trình duyệt nào trong câu trả lời này hoạt động.
mawcsco

1

Kiểm tra cài đặt proxy của bạn. Vì bạn đang ở trong một mạng công ty, ai đó có thể có chính sách proxy không đầy đủ được đưa vào IE của bạn (điều đó không nhất thiết phải phản ánh với các trình duyệt khác).


Chắc chắn không có proxy đang diễn ra ở đây. Chúng tôi thậm chí không sử dụng NAT. Cập nhật câu hỏi của tôi cho phù hợp.
mawcsco

Điều đó nói rằng, kết nối trình duyệt của bạn với Fiddler và xem những gì có thể xảy ra dưới mui xe. Hãy thử một số trang web hoạt động, sau đó thử localhost và xem hiển thị lưu lượng. Tốt nhất tôi có thể giới thiệu. fiddler2.com
Xavier J

Vì vậy, Fiddler giới thiệu một proxy. Bây giờ, trong IE, tôi thấy: "Máy chủ proxy không phản hồi." Tuy nhiên, yêu cầu / phản hồi trong Fiddler cho thấy mọi thứ đều ổn. Máy chủ trả lời với các tiêu đề và nội dung HTML dự kiến. Nhưng, đó không phải là những gì tôi thấy trong IE.
mawcsco

-1

Tôi thực hiện thay đổi này và tất cả đều hoạt động tốt trên windows 10 64 bit.

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


1
Tôi không nghĩ rằng điều này sẽ khắc phục sự cố OP - được xác nhận là phản hồi HTTP kiểu Cntent không đúng định dạng.
DavidPostill
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.