¿Se puede configurar IIS para reenviar la solicitud a otro servidor web?

81

Tengo varios sitios web configurados en un servidor IIS 6 distinguido por Host Header.

Sin embargo, deseo tener uno de los sitios atendidos por un servidor Linux / Apache en mi red. ¿Necesito usar un complemento de proxy inverso para IIS, o hay una manera simple de decirle a IIS que pase todas las solicitudes a otro servidor?

Daniel O
fuente

Respuestas:

83

¡Para IIS 7.5, Microsoft proporciona módulos oficiales para esto!

En la configuración del sitio, obtendrá un icono de "Reescritura de URL".

  • Abrelo
  • haga clic derecho en la "lista de reglas de entrada"
  • Seleccione "Agregar regla (s)"
  • Elija "proxy inverso"

En este cuadro de diálogo, puede ingresar el nombre de host + puerto para reenviar. Después de agregar la regla, abrir el diálogo de edición ofrece más personalizaciones.

vdboor
fuente
8
Eso es bueno y todo, pero la pregunta original especificaba IIS 6, por lo que estoy confundido de que una respuesta específica a IIS 7.5 se haya marcado como 'aceptada'. ¿Hubo una solución para IIS 6?
Tim Long
@Tim: puede usar la reescritura ISAPI mencionada a continuación, pero aparte de eso, no estoy familiarizado con las soluciones IIS6.
vdboor
Tengo problemas en mi máquina Win10 y no puedo instalar esto. ¿Hay alguna limitación para estos módulos? ¿Es necesario ejecutarlo en un sistema operativo de servidor desde MS? gracias
fpdragon
1
Tenga en cuenta que existen problemas de solicitudes POST de proxy inverso utilizando este método
Casper Leon Nielsen
2
@CasperLeonNielsen ¿Podría indicarnos más detalles sobre los posibles problemas de POST?
Jens Ehrich
17

Estoy utilizando un software de terceros para Windows (IIS) para este propósito, que, además de otras cosas como la reescritura de URL, hace este trabajo bastante bien: ISAPI Rewrite .

ISAPI Rewrite es un poderoso motor de manipulación de URL basado en expresiones regulares. Actúa principalmente como mod_Rewrite de Apache, pero está diseñado específicamente para Internet Information Server (IIS) de Microsoft. ISAPI Rewrite es un filtro ISAPI escrito en C / C ++ puro, por lo que es extremadamente rápido. ISAPI_Rewrite le da la libertad de ir más allá de los esquemas estándar de URL y desarrollar su propio esquema.

Busque "Proxying". Aquí está la documentación para la regla RewriteProxy .

También hay un proyecto de código abierto muy similar: el filtro de reescritura Isapi de Ionic .

splattne
fuente
enlace al documento para IIRF ProxyPass: cheeso.members.winisp.net/Iirf20Help/html/…
Cheeso
2
+1 - Esto funciona bien en IIS 6.
Evan Anderson
No pude usar IIRF en Windows 2008 R2 SP1 debido a este problema: iirf.codeplex.com/workitem/32479
Peter K.
1

No, no en IIS 6. Observe el uso de nginx / ubuntu (o incluso nginx en Windows) como un proxy inverso frente a su servidor IIS6. Tuvimos que usar IIS7.5 para las funciones de proxy inverso

John Fox
fuente
-3

Este artículo de Microsoft KB debería ayudar a responder esta solicitud.

Procedimientos para redirigir solicitudes a otro sitio web o directorio:

  1. En el Administrador IIS, expanda la computadora local, haga clic con el botón derecho en el sitio web o directorio que desea redirigir y haga clic en Propiedades.

  2. Haga clic en la pestaña Home Directory, Virtual Directory o Directory.

  3. En El contenido de esta fuente debe provenir, haga clic en A redirección a una URL.

  4. En el cuadro Redirigir a, escriba la URL del directorio o sitio web de destino.

Nick O'Neil
fuente
66
Dada la etiqueta de "proxy inverso" en la pregunta del póster, supongo que está buscando la funcionalidad de proxy inverso y no una redirección HTTP.
Evan Anderson el
55
El otro servidor no está disponible públicamente, así que desafortunadamente esto no funcionaría
Daniel O
Esto esta simplemente mal.
tacos_tacos_tacos