IE는 localhost + 포트에서 작동하지 않습니다


25

개발 목적으로 로컬 시스템에서 NodeJS 서버를 실행하고 있습니다. 기본적으로 포트 1337을 사용합니다 (8080, 1234, 9000, 9090, 65432 등의 다른 포트를 사용해 보았습니다).

Chrome, Firefox 및 Opera에서이 NodeJS 서버에 성공적으로 연결할 수 있습니다. 그러나 Internet Explorer 11에 연결하려고하면 "이 페이지를 표시 할 수 없습니다"(이미지 참조)가 표시됩니다.

여기에 이미지 설명을 입력하십시오

다양한 "솔루션"을 시도하고이 사이트에서 몇 가지 질문 / 답변을 보았습니다. 그들 중 누구도 일하지 않았습니다. 포함 :

  • 127.0.0.1을 시도했습니다
  • "보호 모드"및 "확장 보호 모드"를 비활성화했습니다.
  • 인트라넷 영역과 신뢰할 수있는 영역에 "localhost"를 추가했습니다.
  • 자세한 내용을보기 위해 "친근한 HTTP 메시지"를 비활성화했습니다.
  • 컴퓨터 이름과 DNS 이름을 사용해 보았습니다.
  • IPv4 주소를 사용하여 "localhost"및 "thisismyfrigginpc"에 대한 호스트 파일에 수동 항목을 작성하려고했습니다.

내가 가진 유일한 성공은 서버가 포트 80 ( http://localhost:80/또는 http://localhost) 에서 실행될 때 입니다. 그러나 여러 가지 이유로 포트 80에서 개발할 수 없습니다. localhost + port (일부 포트, 80 및 443 이외의 포트)에서 코드를 테스트해야합니다.

도움이되지 않는 질문과 답변 :

도와주세요!

BTW, Windows 7 Enterprise 64 비트 실행 회사 배포이지만 관리자 권한이 있습니다. 네트워크 구성은 NAT가없고 프록시가없는 표준 DHCP입니다.

최신 정보

@codenoire의 추천에 따라 Fiddler를 설치하여 요청 / 응답을 확인했습니다. 다음은 IE-to-Piddler-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 업데이트

IE 11을 사용하여 "비정상"비 기업 Windows 7 설치에서이 시나리오를 테스트했습니다. 결과는 제 관찰 결과와 동일합니다. 이는 기업 이미지로 만든 구성을 원인으로 제거 할 수 있음을 의미합니다. 또한 네트워크 구성은 "바닐라"입니다.

2014-01-21 업데이트

Internet Explorer "에뮬레이션"아이디어를 시도했습니다. "iexplorer.exe"키를 DWORD 및 QWORD 값으로 (개별적으로) 값으로 작성했습니다 8000, 8001, 9000, 9001, 10000, and 10001. 각각 후에 다시 부팅하고 다시 테스트했습니다. 이 모든 시도는 동일한 결과를 낳았습니다. 옆으로, 우리는 IE11에서이 코드를 테스트해야합니다. 다양한 호환성 코드와 트릭은 실제로 장기적으로 도움이되지 않습니다.

2014-01-22 업데이트

포트 1337에서 XAMPP Apache 서버를 시작했습니다. IE는 잘 연결됩니다. 따라서 IE가 좋아하지 않는 NodeJS 응답과 다른 브라우저가 잘 처리하는 것으로 보입니다. 우리는 NodeJS 코드를 조사하여 헤더 / 콘텐츠에서 정확히 무슨 일이 일어나고 있는지 확인하기 위해 줄을 섭니다.

2014-01-27 업데이트 : 해결

방금 결과를 문서화하고 싶었습니다. 원래 응답에는 Content-Type이 포함 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

먼저 시도한 것들, 특히 인트라넷 영역에 추가 한 작업을 대부분 취소하십시오. 영역에 추가하려면 신뢰할 수있는 사이트를 사용하십시오.
Frank Thomas

@FrankThomas 상기시켜 주셔서 감사합니다. 나는 성공하지 않고 그것을 시도했다. 나는 그것을 반영하기 위해 내 질문을 편집했습니다.
mawcsco

바인드 설정을 게시 해 주시겠습니까?
Vanadis

@Vanadis 바인드 설정? 당신은 명확히 할 수 있습니까?
mawcsco

답변:


9

WWW3 기사 HTTP 문자 세트 매개 변수 설정은 다음을 지정합니다.

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

이것은 Content-Type앞에 공백 이있는 것으로 정의합니다 charset.

나는 이것이 실제로 문제라는 것을 이미 알고 있다는 것을 알고 있습니다. 그래서 문제의 원인은 Microsoft 또는 중개인 프록시에 의해 상상할 수없는 매우 프로그래밍입니다.


1) 컴퓨터 이름을 사용해도 상황이 해결되지 않습니다. 2) 이미 Fiddler를 사용했으며 결과를 게시물에 포함 시켰습니다. 3) Wireshark + pcap은 로컬 호스트에서 캡처 할 수 없습니다. RawCap + Wireshark를 사용했으며 결과는 Fiddler와 동일했습니다.
mawcsco

마찬가지로 디코딩 된 패킷은 거의 동일하게 보입니다.
mawcsco

나는 피들러를 포기하지 않았습니다. 그것은 잘 작동하고 동일한 결과를 얻습니다 : Chrome, Firefox, Opera connect fine, IE는 그렇지 않습니다. 나는 해독 된 원시 요청 응답을 게시했으며 모든 것이 정상적이거나 올바르게 보이지만 IE는 페이지를 표시하지 않습니다.
mawcsco

그게 무슨 조언이야? 이미 컴퓨터 이름을 시도했습니다. 내 게시물에 나와 있습니다. Fiddler 루트 인증서는 SSL 연결에만 필요합니다. 나는 그것을 필요로하지 않습니다 (그리고 이것이 어떻게 도움이되는지 알지 못합니다). 나는 이미 Wireshark를 시도했지만 새로운 것을 밝히지 않습니다. 피들러는 서버 요청 / 응답이 훌륭하다는 것을 성공적으로 보여 주었으며, 다른 모든 브라우저가 잘 작동하는 것을보고 추론했습니다. IE 만 다르게 동작합니다.
mawcsco

네, "짚을 움켜 쥐는 것"이 ​​바로 이런 느낌입니다 나는 나의 지혜 끝에있다. UAC가 이미 비활성화되어 있으므로 아무런 도움이 없습니다. 나는 문자 공간 문제를 조사하고 있지만, 어떻게 그 문제를 해결할지 전혀 모른다. 나는 그것을 찾고 있습니다.
mawcsco

3

IE 설정에 문제가있을 수 있습니다.

이 문제를 해결하는 가장 쉬운 방법은 인터넷 옵션을 열고 고급 탭으로 이동하여 "Internet Explorer 설정 재설정"을 클릭하는 것입니다. "고급 설정 재설정"이 아닌 선택하십시오.이 설정은 모든 설정을 포함하지는 않습니다.

그래도 작동하지 않으면 localhost 대신 127.0.0.1을 사용하여 탐색하십시오. 이렇게해도 문제가 해결되지는 않지만 때때로 문제가 발생할 수 있습니다.

편집 : 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)

우리는 10001로 가장 큰 성공을 거두었습니다.


필자는 이미 여러 컴퓨터에서이 기능을 테스트했으며 소수의 Windows 및 IE를 "새로"설치했습니다.
mawcsco

애드온을 비활성화 한 상태에서 IE를 실행 했습니까? 나는 그것이 새로 설치되었다고 말했지만 때로는 팽창으로 미리 포장되어 있습니다.
WreithKassan

다시 한 번 Windows와 IE를 새로 설치하십시오. 추가 기능이 설치되지 않았습니다.
mawcsco

내 원래 게시물에는 이미 127.0.0.1을 시도했다고 나와 있습니다. 나는 "에뮬레이션"트릭을 시도 할 것입니다.
mawcsco

좋아,이 답변의 브라우저 에뮬레이션 값은 작동하지 않습니다.
mawcsco

1

프록시 설정을 확인하십시오. 회사 네트워크에 있으므로 누군가 IE에 부적절한 프록시 정책을 적용했을 수 있습니다 (다른 브라우저에 반드시 반영되는 것은 아님).


여기에는 프록시가 없습니다. 우리는 심지어 NAT를 사용하지 않습니다. 이에 따라 내 질문을 업데이트했습니다.
mawcsco

즉, Fiddler로 브라우저를 연결하고 후드에서 무슨 일이 일어나고 있는지 확인하십시오. 작동하는 일부 사이트를 시도한 다음 localhost를 시도하고 트래픽 표시를보십시오. 내가 추천 할 수있는 최고. 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.