El conector Tomcat para Internet Information Server no funciona

El conector Tomcat para Internet Information Server no funciona

Estoy intentando configurar un servidor de información de Internet para que funcione con Tomcat y después de seguir los pasos enel sitio webno funciona.

Lo peor es que no hay forma de documentar o darse cuenta de dónde está el problema. Como aparece en el sitio web, hay muchos pasos para configurar y el resultado debería ser "correcto", pero no hay forma de diagnosticar dónde está el problema.

IIS

Tengo un windows Server 2012 R2 64 bits con el IIS que viene con la instalación. Primera pregunta: ¿es 32bit o 64bit??? Para el resto de esta pregunta, asumiré que es de 64 bits.

Gato

Apache Tomcat 10.0.18. Se ejecuta con la versión 1.8.0_161 de Java. El servidor está configurado para ejecutarse como un servicio con inicio de sesión como "Cuenta del sistema local". Por el bien de este ejemplo, digamos que está instalado en %TOMCAT_HOME%.

Conector AJP configurado así:

<Connector protocol="AJP/1.3"
           address="0.0.0.0"
           port="8009"
           secretRequired="false"
           xpoweredBy="true"/>

Y confirmó que está funcionando:

C:\>netstat -ab | find "8009"
  TCP    0.0.0.0:8009           THIS-SERVER:0        LISTENING
  TCP    [::]:8009              THIS-SERVER:0        LISTENING

Redirector ISAPI para Micrsoft IIS

Descargadode aquí. Versión de 64 bits. Instalado debajo %TOMCAT_HOME%\isapi. Los archivos de configuración son:

ìsapi_redirect.properties:

#
# isapi_redirect.properties
#

extension_uri=/jakarta/isapi_redirect.dll

log_file=[server-home-removed]\\isapi\\isapi_redirect.log

log_level=debug

worker_file=[server-home-removed]\\isapi\\workers.properties

worker_mount_file=[server-home-removed]\\isapi\\uriworkermap.properties

workers.properties

#
# workers.properties
#

worker.list=tomcat01

worker.tomcat01.type=ajp13
worker.tomcat01.host=localhost
worker.tomcat01.port=8009

uriworkermap.properties

#
# uriworkermap.properties
#

/examples/*=tomcat01
/jakarta/*=tomcat01
/pwdReset/*=tomcat01

Se intentó la configuración del IIS

  1. Le he dado permiso al isapidirectorio según lo solicitado por el manual:

    icacls "%TOMCAT_HOME%\isapi" /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)M

    icacls "%TOMCAT_HOME%\isapi\isapi_redirect.dll" /grant "Todos":RX

  2. Creé un directorio virtual f**** (esta es la tercera o cuarta vez que lo hago) llamado "jakarta" y lo señalo al directorio posterior (ver más abajo). El directorio virtual tiene la propiedad "conectar como" configurada como "usuario de la aplicación (autenticación Pass-Through)":

ingrese la descripción de la imagen aquí

  1. Mapeo del controlador configurado de la siguiente manera:

ingrese la descripción de la imagen aquí

Restricciones de solicitud de acceso configuradas como "ninguna". Pero también lo intenté con "ejecutar" y no pasa nada.

  1. Configuración del filtro ISAPI:

ingrese la descripción de la imagen aquí

El problema esque al parecer teniendo todo ok, el resultado que me sale al intentar conectarme a la ruta virtual es un error 500 si uso el filtro ISAPI de 32 bits o error 403 si uso el filtro ISAPI de 64 bits. ¿¿¿Qué estoy haciendo mal??? Y lo que es más importante, ¿hay alguna forma de diagnosticar que las diferentes partes de este clusterfuck son correctas, de comprobar si el filtro ISAPI está funcionando, el conector AJP de Tomcat está funcionando, etc.???

ingrese la descripción de la imagen aquí

Respuesta1

Resuelto: si leesla referencia actualizada del conectorencontrarás varias cosas:

Tenga en cuenta que en un entorno de 64 bits, al menos para IIS 7,el grupo de aplicaciones IIS utilizado debe tener "Habilitar aplicaciones de 32 bits" configurado en "Falso". De lo contrario, no se llamará al redirector y devolverá un código http 404. Si cree que la versión de 32 bits de isapi_redirect.dll haría el trabajo, obtendrá un código http 500, porque la biblioteca no se puede cargar en un IIS de 64 bits. .

Y completé la información del registro antes de realizar la prueba nuevamente. Ahora está funcionando (las solicitudes aparecen en el lado de Tomcat).

información relacionada