Logré lograr esto usando la herramienta de red incluida de Windowsnetsh
.
Como Mat señala: el archivo de hosts es solo para la resolución de nombres de host, por lo que una combinación de los dos fue el truco para mí.
Ejemplo
Visión general
example.app:80
| <--Link by Hosts File
+--> 127.65.43.21:80
| <--Link by netsh Utility
+--> localhost:8081
Comportamiento
- Comencé mi servidor en
localhost:8081
- Agregué mi "DNS local" en el archivo de hosts como una nueva línea
127.65.43.21 example.app
- Se puede usar cualquier dirección libre en la red
127.0.0.0/8
( 127.x.x.x
).
- Nota: supongo que
127.65.43.21:80
no está ocupado por otro servicio.
- Puedes consultar con
netstat -a -n -p TCP | grep "LISTENING"
- Se agregó la siguiente configuración de red con la utilidad de
comando netsh
netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
- Ahora puedo acceder al servidor en
http://example.app
Notas:
- Estas modificaciones de comandos / archivos deben ejecutarse con derechos de administrador
- netsh portproxy necesita bibliotecas de ipv6 incluso solo para usar v4tov4, por lo general, también se incluirán de forma predeterminada; de lo contrario, instálelas con el siguiente comando:netsh interface ipv6 install
Puede ver la entrada que ha agregado con el comando:
netsh interface portproxy show v4tov4
Puede eliminar la entrada con el siguiente comando:
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21
Enlaces a recursos: