Quero especificar nomes de host com duas portas diferentes no hosts
arquivo do Windows .
Existe uma forma de fazer isso? Ou não é permitido pelo próprio Windows?
Eu perdi meu tempo procurando a solução nas últimas 8 horas.
É possível especificar portas no arquivo host hosts
? Por exemplo: 127.0.0.1:80
e127.0.0.1:9211
windows
ip-address
localhost
Peter Mortensen
fonte
fonte
Respostas:
Basta usar endereços IP sem portas. Exemplo:
Em seguida, para acessar 192.168.2.50:5555 a partir do seu navegador (ou outro programa):
O
hosts
arquivo pode ser encontrado em:Linux
/etc/hosts
Windows :
C:\Windows\System32\drivers\etc\hosts
fonte
C:\Windows\System32\drivers\etc\hosts
?Você não pode associar um número de porta a um nome de host mapeado para um IP no arquivo de hosts. Você pode conseguir isso com o Fiddler usando o FiddlerScript:
fonte
hosts
arquivo é apenas para resolução de nome de host<hostname>:<port>
, o padrão é port80
Cenário de problema típico
127.0.0.1
também conhecido comolocalhost
(definido no arquivo hosts) .para evitar colisão entre possivelmente outros servidores existentes / em execução, o aplicativo normalmente permite alterar a porta, mas não o endereço IP.
2a Se você pudesse alterar o endereço IP do servidor para outro no espaço de endereço reservado para loopback
127.0.0.0/8
, provavelmente não tentaria definir portas no arquivo de hosts.Solução possível
Você pode contornar isso usando a ferramenta de rede incluída no Windows
netsh
como um proxy de porta.Visão geral
Ações
localhost:8081
127.65.43.21 example.app
127.0.0.0/8
pode ser usado.127.65.43.21:80
não está ocupado por outro serviço.netstat -a -n -p TCP | grep "LISTENING"
netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
http://example.app
Notas:
- Esses comandos / modificações de arquivos precisam ser executados com direitos de administrador
- netsh portproxy precisa de bibliotecas ipv6 mesmo para usar v4tov4; normalmente elas também serão incluídas por padrão; caso contrário, instale-as usando o seguinte comando:
netsh interface ipv6 install
Você pode ver a entrada que você adicionou com o comando:
netsh interface portproxy show v4tov4
Você pode remover a entrada com o seguinte comando:
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21
Links para Recursos:
Nota: esta resposta é uma duplicação da minha resposta discutida nesta pergunta / resposta semelhante no stackoverflow.
fonte