¿Cómo asignar "localhost:8080" a simplemente "localhost"?

¿Cómo asignar "localhost:8080" a simplemente "localhost"?

Usando el archivo de hosts, no puedo hacer algo como esto:

127.0.0.1:8080 testing

Por eso tendré que escribir

127.0.0.1 testing
http://testing:8080 

para hacer lo mismo.

El problema es que necesito poder acceder a la IP sin ingresar a ningún puerto. ¿Tengo alguna opción para hacer tal cosa?

Respuesta1

Puede configurar un proxy inverso para servir en el puerto 80 y reenviar todas las solicitudes al 8080.

Apache es uno de los servidores web que puede hacer esto por usted. Hay un básicoejemplo de proxy inversoen la documentación mod_proxy.

Respuesta2

El archivo de hosts solo vincula los nombres de host a las direcciones IP.

De forma predeterminada, HTTP se ejecuta a través del puerto 80. Entonces, al vincular un nombre de host a 127.0.0.1 y luego presionar el nombre de host en su navegador (a través de HTTP), está insinuando el puerto 80.

Necesitaría configurar un servidor proxy que escuche el puerto 80 y reenvíe las solicitudes al puerto 8080. Su servidor web aún tendría que ejecutarse en el puerto 8080.

Respuesta3

El archivo hosts es para asociar un nombre a una ip.
Lo que quieres hacer es un deber de firewall.
O configuras la aplicación para que se ejecute en 80 en lugar de 8080.
Con iptables podrías hacer algo como:

iptables -t nat -I PREROUTING -p tcp -i eth0 -d 127.0.0.1 --dport 8080 -j DNAT --to-destination 127.0.0.1:80

Respuesta4

Necesita privilegios adicionales para escuchar en puertos por debajo de 1000, razón por la cual probablemente esté escuchando en el puerto 8080 en lugar del puerto 80. Puede configurar un proxy inverso usando Apache, Squid, Varnish u otros servidores proxy.

O simplemente puede hacer que el software escuche en el puerto 80 permitiéndole escalar privilegios y pasando los parámetros correctos. ¿Cuál es el software? Probablemente podamos ayudarle a escucharlo en el puerto 80.

información relacionada