0
Web varias en el puerto 80 redireccionado

Solved 3 Respuestas 52 Views
Que tal gente?

Les consulto, tengo un dominio donde fowardero el puerto 80, a una maquina virtual donde esta el xampp en el puerto 80.

Como esa direccion ip publica lo tengo asignado a dos dominios, se me ocurria la idea, de encontar alguna forma para que quien ingrese a pepito.com, se redireccione al 80 del servicio A, y quien entre a fulanito.com, se redireccione al 80 del sevicio B, donde esos 2 dominios, tienen la misma ip publica...

No es para el trabajo es para mininegocio que tengo. Quizas lo planteo mal pero si a alquien se le ocurre alternativas para que esto funcione asi se los agradeceria.

Resumiendo, el resultado deberia ser: ingresar a distintos dominios (que apuntan a la misma ip publica), y cuando detecte el ingreso al puerto 80, dependiendo del nombre del dominio, se redireccione a un webserver automaticamente para ese dominio. Asi es transparente para el usuario que ingresa.

Saludos y gracias!

3 Respuestas

2
Mejor respuesta
Yo pondria un nginx escuchando en el puerto 80 y haciendo un proxy pass al webserver correspondiente. Es lo mas transparente que se me ocurre sin pensarlo demasiado.
respondido por kri3v (2,390 puntos) May 19, 2016
seleccionada por alopez May 19, 2016
1Comentarios
comentado por godlike (8,550 puntos) May 19, 2016
Esta es la mejor IMHO. nginx es muchísimo más fácil de configurar y muchísimo más robusto en el día a día.

Acá tenés un artículo de nginx mismo sobre cómo configurarlo como reverse proxy (que es lo que querés hacer/estás haciendo): https://www.nginx.com/resources/admin-guide/reverse-proxy/
1
Si tenes el mismo xampp (que es basicamente un apache), tenés que configurar VirtualHosts sobre la IP y listo.

Tenés mas info acá: https://httpd.apache.org/docs/current/vhosts/
respondido por TaiSHi (1,400 puntos) May 19, 2016
2Comentarios
comentado por alopez (1,750 puntos) May 19, 2016
Muy astuto!!! jaja. Si, es buena idea. La mas sencilla y viable. Y en el caso de que sean dos xampp distintos en distintas maquinas virtuales? Ya que un router tiene la ip publica y tengo puertos fowardeados, como el 80, a un solo xampp. Sino voy la opcion que planteas. Un abrazo!
comentado por TaiSHi (1,400 puntos) May 19, 2016
De manera sencilla lo dudo, una opción es algún tipo de proxy pero es darle demasiada vuelta!
Otra que podrías hacer es levantar un linux pelado en un virtualbox, es un poco mas complejo pero gratificante/util
1
Si está todo en un mismo server es cuestión de separar los dominios por virtualhost, un archivo por dominio con algo así:

<VirtualHost *:80>

    DocumentRoot    /var/www/virtual1
    ServerName     ejemplo.com.ar

CustomLog       /var/log/apache2/v1-combined.log combined
ErrorLog        /var/log/apache2/vi-error.log

    <Directory /var/www/virtual1>
        Options -Indexes Includes
        AllowOverride All
    </Directory>
</VirtualHost>

 

Si los servicios están en servers diferentes, detrás de un frontend entonces podés usar apache como proxy pass reverse, con un archivo por dominio y algo así:

 

<VirtualHost *:80>

    DocumentRoot    /var/www/virtual1
    ServerName     ejemplo.com.ar

  <Proxy *>
     Order deny,allow
     Allow from all
  </Proxy>
    ProxyPass / http://ejemplo.com.ar/
    ProxyPassReverse / http://ejemplo.com.ar/

CustomLog       /var/log/apache2/v1-combined.log combined
ErrorLog        /var/log/apache2/vi-error.log

</VirtualHost>

 

En este caso podés cambiar el FQDN en las líneas de ProxyPass y ProxyPassReverse por una dirección IP y puerto, de ser necesario, o usar el FQDN y que un DNS interno resuelva la IP o ponerla en el /etc/hosts

 

Saludos!
respondido por deblike (1,180 puntos) May 19, 2016
...