IIS 7 + Tomcat 7: cómo acceder a http://localhost:8080/my_app en, por ejemplo, http://my_app.local

IIS 7 + Tomcat 7: cómo acceder a http://localhost:8080/my_app en, por ejemplo, http://my_app.local

En breve:

IIS 7+Apache Tomcat 7+ isapi_redirect.dll:

Tengo una aplicación Tomcat implementada y en funcionamiento disponible en http://localhost:8080/my_app.
Me gustaría ver el mismo contenido debajo http://my_app.local(y NO el sitio Tomcat predeterminado [que puede ver a continuación]).
Lo configuré isapi_redirect.dll, por lo que ahora my_app.localel contenido es igual al localhost:8080de, pero no es suficiente, me gustaría mapearlo localhost:8080/my_appdebajo my_app.local. (TENGO 127.0.0.1 my_app.localun archivo de hosts, por lo que ya puedo abrirlo my_app.local, PERO ahora solo muestra el sitio Tomcat predeterminado (el mismo que está disponible en http://localhost:8080)).

Por favor lea lo que ya he probado:


Explicado más tiempo:

TengoIIS 7(7.5.7600.16385) yApache Tomcat/7.0.22instalado.

  1. Implementé una aplicación (llamémosla " my_app") en Tomcat, a la que ahora se puede acceder en http://localhost:8080/my_app, funciona bien. Agregué un nuevo sitio web en el panel de IIS con la ruta de Tomcat implementada my_app, que se ve así: " c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\my_app"
  2. Vinculé el nombre del host my_app.local.
  3. Después de eso, configuré isapi_redirect.dllcomoeste(o eso).
  4. Ahora, cuando abro http://my_app.local, puedo ver el sitio Tomcat predeterminado (ver más abajo), ¡que es el mismo que el contenido debajo http://localhost:8080/! (¡¡¡Ese es el problema!!!)
  5. PERO debajo http://my_app.localme gustaría ver el mismo contenido que debajo http://localhost:8080/my_app.

¿Cómo puedo hacer eso? ¡¡Muchas gracias por adelantado!!

mis archivos de configuración:

ingrese la descripción de la imagen aquí



ACTUALIZAR

También encontré esto:http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html

Caso B: debe ocultar los componentes de la ruta para todas las solicitudes que van a la aplicación. Aquí está la receta para el caso en el que desea ocultar el primer componente de ruta /myapp. Las manipulaciones más complejas se dejan como ejercicio al lector. Primero la solución para el caso de Apache httpd:

  1. Utilice mod_rewrite para agregar /myapp a todas las solicitudes antes de reenviarlas al backend: [...]
  2. Utilice mod_headers para reescribir cualquier redireccionamiento HTTP que pueda devolver su aplicación. [...]
  3. Utilice mod_headers nuevamente para reescribir las rutas contenidas en las cookies que su aplicación pueda configurar. [...]

Si está utilizando Microsoft IISComo servidor web, el complemento ISAPI proporciona una forma de realizar el primer paso con una función incorporada.Usted define un archivo de mapeopara cambios de prefijo simples como este:

# Add a context prefix to all requests ...
/=/myapp/
# ... or change some prefix ...
/oldapp/=/myapp/

y luego ponga el nombre del archivo en la rewrite_rule_fileentrada del registro o de su isapi_redirect.propertiesarchivo. En su uriworkermap.propertiesarchivo, aún necesita asignar las URL tal como están antes de volver a escribirlas. [...]
No hay soporte para los pasos 2 (reescribir respuestas de redireccionamiento) o 3 (reescribir rutas de cookies).

Me sorprendió que escriba "No hay soporte para los pasos 2 (reescribir respuestas de redireccionamiento) o 3 (reescribir rutas de cookies).", No sé si sigue siendo cierto, pero ¿luego qué? ¿Estoy estancado otra vez?

Respuesta1

Dependiendo de su objetivo (¿URL fácil de recordar?), tal vez esté bien simplementeredirigirmi_aplicación.local -> mi_aplicación.local:8080/mi_aplicación?

Esto noesconderel sitio de destino, sin embargo.

Configure un nuevo sitio IIS en my_app.local y déjeloredirigira su aplicación :8080/my_app.

http://technet.microsoft.com/en-us/library/cc732930(WS.10).aspx

Respuesta2

¿Puedes probar esto? http://blogs.iis.net/carlosag/archive/2010/04/01/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr.aspx

Esto parece ser lo que necesita: reescritura de URL y enrutamiento de aplicaciones.

información relacionada