como obtenho 0.0.0.0 para resolver para localhost ao navegar em uma url que contenha 0.0.0.0?

5

Fazendo algum desenvolvimento de nó no windows. Programas de nó gostam de expulsar URLs parecidas com http://0.0.0.0:8080 . No Linux (iirc), colar esse URL no navegador será bem-sucedido. Mas no Windows, é um erro 404. Pensei em adicionar:

0.0.0.0 localhost

ao meu arquivo hosts , mas isso parece não funcionar. Por exemplo, tenho um depurador em execução em http://localhost:8080/debug?port=5858 . Funciona bem. Mas quando eu adiciono a linha acima ao arquivo hosts e tento acessar http://0.0.0.0:8080/debug?port=5858 eu recebo:

Error 108 (net::ERR_ADDRESS_INVALID): Unknown error.

Node-inspector é um bom exemplo:

$ node-inspector                                                      
   info  - socket.io started                                          
visit http://0.0.0.0:8080/debug?port=5858 to start debugging  

Eu só preciso editar manualmente esse IP para ser igual ao localhost quando copiar / colar? Ou isso é uma diferença estranha entre o Linux e o Windows?

Como faço para que 0.0.0.0 seja equivalente a localhost ao navegar por urls no Windows 7? O Chrome é o meu navegador "padrão".

    
por jcollum 14.01.2013 / 19:50

1 resposta

4

Então, o que está acontecendo aqui é que o nó está ligado a 0.0.0.0 - netspeak para "Todas as interfaces". Isso inclui localhost, qualquer interface real que você possua e qualquer interface virtual que você tenha. Em si, geralmente não aponta para uma interface individual. (Tecnicamente, ele aponta para "Este host nesta rede", mas isso é ambíguo na melhor das hipóteses porque "esta rede" não está definida. Então 0.0.0.0 é geralmente entendido como representando o IP do computador local em todos rede)

Você precisa editar manualmente esse IP ao copiar / colar? Sim. Se o Linux ou um navegador específico no Linux acontecer, silenciosamente, corrija-o para 127.0.0.1 ... awesome. Mas como você descobriu, isso não é uma coisa universal.

    
por 14.01.2013 / 21:05