¿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?

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.


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 .


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


-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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.