Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Platanito Mx en 8 Febrero 2016, 17:25 pm



Título: Servidor Apache apunto a un servidor con IIS pero aparece la IP ¿cómo la quito?
Publicado por: Platanito Mx en 8 Febrero 2016, 17:25 pm
Un saludo a todos, aprovecho para comentarles que actualmente tengo dos servidores web uno con apache y otro con IIS

Apache http://www.midominio.com

IIS No tiene dominio C:\inetpub\wwwroot\test

Actualmente entro a http://www.midominio.com y todo bien pero cuando entro a http://www.midominio.com/test se redirecciona al IIS, pero:

De forma interna, en mi red, sí entro pero aparece la IP del servidor donde esta el IIS http://111.222.333.444/test y necesito que aparezca http://www.midominio.com/test

Ahora cuando entre de forma externa, no entro y me aparece http://111.222.333.444/test y obviamente pues no entrará porque busca la IP

¿qué tengo qué hacer para que de forma internet y de forma externa entre a http://www.midominio.com/test?

Espero puedan ayudarme, saludos.


Título: Re: Servidor Apache apunto a un servidor con IIS pero aparece la IP ¿cómo la quito?
Publicado por: MinusFour en 8 Febrero 2016, 20:17 pm
Necesitas un reverse proxy. Nginx puede funcionar para esto.


Título: Re: Servidor Apache apunto a un servidor con IIS pero aparece la IP ¿cómo la quito?
Publicado por: Platanito Mx en 9 Febrero 2016, 16:11 pm
Gracias MinusFour por tu comentario

Ayer me comentaron sobre VirtualHost (Apache) y HostHeader (IIS) ¿eso omitirá el uso del proxy?


Título: Re: Servidor Apache apunto a un servidor con IIS pero aparece la IP ¿cómo la quito?
Publicado por: MinusFour en 10 Febrero 2016, 16:33 pm
Gracias MinusFour por tu comentario

Ayer me comentaron sobre VirtualHost (Apache) y HostHeader (IIS) ¿eso omitirá el uso del proxy?

No creo, lo que sucede es esto. El cliente pregunta por tudominio.com, resuelve la IP y le envia la petición a ese servidor. Para las dos URLs el cliente realiza el mismo procedimiento, lo único diferente es que el path que envias al servidor es diferente, pero es ún solo servidor (en tu caso apache).

Lo que muy probablemente estas haciendo es que cuando el usuario entre a un path en especifico (/test) el servidor envía un 302 junto con la cabecera Location para decirle al cliente: "El recurso no está aquí, esta en esta otra IP". Y el cliente sigue la cabecera y acaba con una nueva URL.

Con un Reverse Proxy, tienes un servidor que recoge información del servidor apropiado dependiendo de la petición y su configuración. Por ejemplo, con nGinx podrías decirle que para todas los paths que no sean "/test" enviar la petición a Apache, para todas las demás las envia a IIS.

Cliente pregunta por /test -> Nginx pregunta a IIS -> IIS responde a Nginx -> Nginx responde a cliente.

Cliente pregunta por cualquier otra url -> Nginx pregunta a Apache -> Apache responde a Nginx -> Nginx responde a cliente.

El punto es que por un dominio solo puedes tener un servidor (porque ese dominio resuelve a una IP), si el recurso esta en otro servidor, o el servidor recoge la información por el cliente (lo que es un reverse proxy) o el  servidor le dice que el no tiene el recurso y que se encuentra en otro servidor (provocando una redirección completa, fuera del dominio)