IE não funciona com localhost + port

23

Eu tenho um servidor NodeJS em execução na minha máquina local para fins de desenvolvimento. Por padrão, ele usa a porta 1337. (Eu tentei um punhado de outras portas, como 8080, 1234, 9000, 9090, 65432 et al).

Eu posso me conectar com sucesso a este servidor NodeJS a partir do Chrome, Firefox e Opera. Mas, quando tento conectar-me ao Internet Explorer 11, vejo "Esta página não pode ser exibida" (veja a imagem).

Eutenteiumavariedadede"soluções" e vi várias perguntas / respostas neste site. Nenhum deles funcionou. Incluindo:

  • Eu tentei 127.0.0.1
  • Desativei "Modo Protegido" e "Modo de Proteção Aprimorado".
  • Eu adicionei "localhost" à zona da intranet e à zona confiável.
  • Desativei "Mensagens HTTP amigáveis" esperando ver mais detalhes.
  • Eu tentei usar o nome da minha máquina e o nome DNS.
  • Eu tentei criar uma entrada manual em meu arquivo hosts para "localhost" e até mesmo "thisismyfrigginpc" usando meu endereço IPv4.

O único sucesso que tive foi quando o servidor foi executado na porta 80 ( http://localhost:80/ ou http://localhost ). No entanto, não posso desenvolver na porta 80 por vários motivos. Eu preciso testar meu código no localhost + port (alguma porta, qualquer porta diferente de 80 e 443).

Perguntas e respostas que não ajudam:

Por favor, ajude!

BTW, executando o Windows 7 Enterprise de 64 bits. Implantação corporativa, mas tenho direitos de administrador. A configuração de rede é um DHCP bastante normal, sem NAT e sem proxy.

UPDATE

Por recomendação do @codenoire, instalei o Fiddler para ver a solicitação / resposta. Abaixo estão a solicitação bruta e a resposta do IE para o Fiddler para o servidor para o Fiddler:

Pedido

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

Resposta

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>

Resultado

Atualizar2014-01-17

EutesteiestecenárioeminstalaçõesWindows7nãocorporativas"limpas" com o IE 11. Os resultados são idênticos às minhas observações permanentes. Isso significa que qualquer configuração feita por uma imagem corporativa do Windows pode ser eliminada como uma causa. Além disso, a configuração da rede é bastante "baunilha".

Atualizar 2014-01-21

Eu tentei as ideias de "emulação" do Internet Explorer. Eu criei uma chave "iexplorer.exe" como valores DWORD e QWORD (individualmente) com os valores 8000, 8001, 9000, 9001, 10000, and 10001 . Depois de cada um, reinicie e teste novamente. Todas essas tentativas produziram os mesmos resultados. Como um aparte, precisamos testar este código no IE11. Os vários códigos e truques de compatibilidade não nos ajudam a longo prazo.

Atualizar 2014-01-22

Disparou um servidor XAMPP Apache na porta 1337. O IE se conecta bem a ele. Então, há algo sobre a resposta do NodeJS que o IE não gosta e os outros navegadores parecem funcionar bem. Estaremos investigando nosso código NodeJS para ver exatamente o que está acontecendo nos cabeçalhos / conteúdo para ver se algo está fora de linha.

Atualização 2014-01-27: resolução

Eu só queria documentar os resultados. A resposta original incluía Content-Type: text/html;charset=utf-8 e, com base na resposta correta, deveria ser: Content-Type: text/html; charset=utf-8 com um espaço entre o tipo e o conjunto de caracteres.

Aqui estão os resultados:

Resposta bruta:

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>

Obrigado ao @harrymc por descobrir a resposta.

    
por mawcsco 15.01.2014 / 21:38

4 respostas

9

O artigo da WWW3 Definir o parâmetro HTTP charset especifica:

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

Isso define Content-Type como tendo um espaço em branco antes de charset .

Eu sei que você já descobriu que este é realmente o problema, então a fonte do problema é muito pouco imaginativa programação pela Microsoft ou por algum proxy de intermediário.

    
por 22.01.2014 / 07:56
2

Existe provavelmente um problema nas suas configurações do IE.

A maneira mais fácil de corrigir isso seria abrir as Opções da Internet, ir para a guia avançada e clicar em "Redefinir as configurações do Internet Explorer". Certifique-se de escolher isso e não "Redefinir configurações avançadas", pois este não abrange todas as configurações.

Se isso não funcionar, tente também navegar usando 127.0.0.1 em vez de localhost. Não é provável que isso resolva o problema, mas às vezes pode criar um problema.

Editar: eu queria acrescentar que isso poderia ser um problema com o IE11. Eu sei que temos tido muitos problemas de compatibilidade com isso. Se você não quiser reverter para o IE10 e tentar isso, poderá sempre Emular no registro:

Em

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

você criará uma chave chamada:

FEATURE_BROWSER_EMULATION

e dentro dele, crie um valor DWORD:

iexplorer.exe

com um valor de um dos seguintes itens:

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

Tivemos mais sucesso com o 10001.

    
por 21.01.2014 / 17:07
1

Verifique suas configurações de proxy. Como você está em uma rede corporativa, alguém pode ter uma política de proxy inadequada inserida em seu IE (que não necessariamente se espelhará nos outros navegadores).

    
por 15.01.2014 / 22:16
-1

Eu faço isso, e tudo funciona bem no windows 10 64 bits.

    
por 15.05.2017 / 16:58