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