Quiero configurar el archivo de hosts de Windows para enviar solicitudes de host basadas en la dirección IP + puertos.
Por ejemplo:
127.0.0.1:80 www.site1.com
127.0.0.1:8080 www.sitetwo.com
Porque tengo Apache escuchando en el puerto 8080 e IIS en el puerto 80 (predeterminado).
Entonces, creo que la mejor manera de hacer esto es modificar el hosts
archivo. No está afectando nada. Ni recibo ningún error ni mensaje.
iis
apache-2.2
Peter Mortensen
fuente
fuente
Respuestas:
No puedes El archivo de hosts es solo eso: hosts. Es el equivalente de un DNS "en corto circuito" dentro de su máquina local. DNS tampoco puede enviarte a puertos.
Para lograr lo que está tratando de hacer, debe configurar un alojamiento virtual en IIS o Apache, y usarlo (basado en el host HTTP: encabezado) para permitir que el servicio decida qué sitio presentar. Sin embargo, esto no lo ayudará si desea hacer esto con IIS y Apache simultáneamente.
fuente
hosts
archivo es solo para resolución de nombre de host<hostname>:<port>
, valores por defecto al puerto80
Escenario de problema típico
127.0.0.1
también conocidalocalhost
(definida en el archivo hosts) .Para evitar la colisión entre posiblemente otros servidores existentes / en ejecución, la aplicación generalmente le permite cambiar el puerto, pero no la dirección IP.
2a. Si pudiera cambiar la dirección IP de los servidores a otra en el espacio de direcciones reservado de bucle invertido
127.0.0.0/8
, entonces probablemente no estaría intentando establecer puertos en el archivo de hosts.Solución posible
Puede solucionar esto utilizando la herramienta de red incluida en Windows
netsh
como proxy de puerto.Visión general
Comportamiento
localhost:8081
127.65.43.21 example.app
127.0.0.0/8
puede usar cualquier dirección libre en la red .127.65.43.21:80
no está ocupado por otro servicio.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:
- 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:
Nota: esta respuesta es una duplicación de mi respuesta discutida en esta pregunta / respuesta similar en stackoverflow.
fuente
No puedes. Si no funciona, entonces algo más va mal.
Supongo que esto es para una caja de desarrollo?
DNS resolverá site.com y www.site.com en localhost siempre que no esté haciendo algo como enviar sus consultas DNS. Probablemente debería pedir ayuda en la configuración del servidor web en ServerFault, ese es el problema más probable.
fuente
Puedes hacer eso con Fiddler . Con el script Fiddler , puedes hacer muchas cosas increíbles.
Si configuras hosts como este
Agregue esto en CustomRules.js (para abrir CustomRules.js , elija Personalizar reglas en el menú Reglas de Fiddler )
Luego, Fiddler convierte el host y se conectará al puerto 8080.
fuente
¿Está utilizando los servidores solo para el desarrollo local? Si es así, puede poner su Apache para escuchar 127.0.0.2:80 y redirigirlo con el archivo de hosts al nombre de dominio que desee.
fuente
Al igual que con las otras respuestas, el archivo host no tiene información de puerto, pero puede tener una página que redirija sesgada en el encabezado como apache o IIS harían para el alojamiento virtual basado en nombres. Verifique el encabezado y redirija según sea necesario. Sin embargo, realmente no veo el valor en esto ya que reinventa la rueda. Apache admite alojamiento virtual basado en puertos y supongo que iis lo hace.
Su objetivo es tener una máquina de desarrollo con ambos funcionando, esto es para una situación de producción.
fuente
Sigue estos pasos:
/programming/8652948/using-port-number-on-windows-xp-host-file
fuente
Esto es lo que puede hacer, sería útil solo para el desarrollo local.
archivo de hosts:
En IIS, cree un nuevo sitio web y local.site1.com y local.site2.com
Configuración de IIS
Tú eres bueno para irte. Solo asegúrese de que los puertos que ha utilizado no estén en uso por algún otro proceso y que también estén abiertos desde firewall, antivirus, etc.
Después de esto, puede usar las siguientes URL para acceder a sitios web desde máquinas locales o desde LAN.
fuente