Reenvío:a localhost:80/dir/ (apache)

Reenvío:a localhost:80/dir/ (apache)

¡Hola de nuevo StackExchange! Primera publicación en Superusuario.

Instalé Apache y PHP en mi computadora y funciona bien cuando ingreso "localhost" en mi computadora. Pero lo que quiero es que cuando alguien escriba http://<my ip>:<random port number that isn't used>quiero que se redirija http://localhost/internet/. ¿Cómo hago esto con el reenvío de puertos? ¿Y qué necesito configurar en Apache?

Sé que esta podría ser la pregunta n.° 87465094 sobre reenvío de puertos, pero no he visto ninguna solución para mi problema aquí en Superusuario ni en el resto de Internet.

La W

Respuesta1

En primer lugar, estás mezclando dos conceptos en una sola idea.

  • Reenvío de puertos TCP/IP
  • Redirección HTTP

Puedes lograr lo que deseas combinando los dos, pero son conceptos separados.

Redirección HTTP

Entonces, ignoremos el reenvío de puertos por el momento. Primero configuremos la parte de redirección.

$ sudo editor /etc/apache2/sites-available/thews_site

Esto crea un nuevo archivo de configuración para un nuevositioConfiguración en Apache. En él podremos colocar toda la configuración de nuestro sitio.

Nuestro servidor virtual

Definamos su nuevo sitio Apache:

NameVirtualHost *:12345
<VirtualHost *:12345>
        Redirect / http://www.superuser.com
</VirtualHost>

Esto crea un nuevo sitio al que se puede acceder desde cualquier IP local, perosoloen puerto 12345.

La definición del sitio en sí es bastante breve. Sólo tiene 1 entrada de configuración. La redirección al sitio de destino.

Configuración del puerto Apache

¡También debemos decirle a Apache que escuche en nuestro nuevo puerto!

$ sudo echo "Listen 12345" >> /etc/apache2/ports.conf

Esto agregará la línea Listen 12345al final de /etc/apache2/ports.conf. Alternativamente, puedes agregarlo tú mismo usando un editor de texto.

Ahora habilitemos el sitio.

$ sudo a2ensite thews_site
$ sudo invoke-rc.d apache2 restart

Esto configurará nuestro sitio previamente definido para que seaactivado. El segundo comando reiniciará Apache.

Pruebas

Si ingresa http://localhost:12345a su navegador ahora, debería ser redirigido a superuser.com!

Reenvío de puertos

Ahora puedes configurar elreenvío de puertos. Lo harías en tu enrutador. Dígale a su enrutador que reenvíe su puerto público 33333a su puerto local 12345.

Ahora bien, si alguien navegara hastayour-public-ip:33333 ellosser redirigido a superuser.com.

Todos estos ejemplos fueron para entornos basados ​​en Debian. Con suerte, podrás adaptarlos si es necesario.

Buena suerte :)

información relacionada