Tomcat-Connector für Internet Information Server funktioniert nicht

Tomcat-Connector für Internet Information Server funktioniert nicht

Ich versuche, einen Internet Information Server für die Arbeit mit Tomcat zu konfigurieren. Nachdem ich die Schritte inDie Webseitees funktioniert nicht.

Das Schlimmste ist, dass es keine Möglichkeit gibt, das Problem zu dokumentieren oder festzustellen, wo es liegt. Wie auf der Website zu sehen ist, sind viele Schritte zu konfigurieren und die Ausgabe sollte „ok“ sein, aber es gibt keine Möglichkeit, das Problem zu diagnostizieren.

IIS

Ich habe einen Windows Server 2012 R2 64 Bit mit dem IIS, der bei der Installation mitgeliefert wird. Erste Frage: Ist es 32 Bit oder 64 Bit??? Für den Rest dieser Frage gehe ich davon aus, dass es 64 Bit ist.

Kater

Apache Tomcat 10.0.18. Läuft mit Java Version 1.8.0_161. Der Server ist so konfiguriert, dass er als Dienst mit Anmeldung als „Lokales Systemkonto“ ausgeführt wird. Nehmen wir für dieses Beispiel an, dass er in installiert ist %TOMCAT_HOME%.

AJP-Anschluss wie folgt konfiguriert:

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

Und bestätigt, dass es funktioniert:

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

ISAPI-Redirector für Microsoft IIS

Heruntergeladenvon hier. 64-Bit-Version. Installiert unter %TOMCAT_HOME%\isapi. Konfigurationsdateien sind:

ì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

Konfiguration des IIS versucht

  1. Ich habe die Berechtigung für das isapiVerzeichnis wie im Handbuch gefordert erteilt:

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

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

  2. Ich habe ein virtuelles Verzeichnis namens „jakarta“ erstellt (das ist das dritte oder vierte Mal, dass ich das mache) und es auf das spätere Verzeichnis verweisen lassen (siehe unten). Das virtuelle Verzeichnis hat die Eigenschaft „Verbinden als“ als „Anwendungsbenutzer (Passthrough-Authentifizierung)“ konfiguriert:

Bildbeschreibung hier eingeben

  1. Die Handlerzuordnung ist wie folgt konfiguriert:

Bildbeschreibung hier eingeben

Zugriffsanforderungsbeschränkungen sind auf „keine“ konfiguriert. Ich habe es aber auch mit „Ausführen“ versucht und nichts passiert.

  1. ISAPI-Filterkonfiguration:

Bildbeschreibung hier eingeben

Das Problem istdass anscheinend alles in Ordnung ist, die Ausgabe, die ich beim Versuch, eine Verbindung zum virtuellen Pfad herzustellen, erhalte, ein 500-Fehler ist, wenn ich den 32-Bit-ISAPI-Filter verwende, oder ein 403-Fehler, wenn ich den 64-Bit-ISAPI-Filter verwende. Was mache ich falsch??? Und was noch wichtiger ist, gibt es eine Möglichkeit, zu diagnostizieren, ob die verschiedenen Teile dieses Chaos korrekt sind, zu prüfen, ob der ISAPI-Filter funktioniert, der AJP-Anschluss von Tomcat funktioniert usw.???

Bildbeschreibung hier eingeben

Antwort1

Gelöst: wenn Sie lesendie aktualisierte Referenz des KonnektorsSie werden mehrere Dinge finden:

Beachten Sie, dass in einer 64-Bit-Umgebung - zumindest für IIS 7 -Im verwendeten IIS-Anwendungspool sollte „32-Bit-Anwendungen aktivieren“ auf „Falsch“ eingestellt sein.. Andernfalls wird der Redirector nicht aufgerufen und gibt einen HTTP-Code 404 zurück. Wenn Sie meinen, die 32-Bit-Version von isapi_redirect.dll würde den Job stattdessen erledigen, erhalten Sie einen HTTP-Code 500, da die Bibliothek nicht in einen 64-Bit-IIS geladen werden kann.

Und ich habe die Registrierungsinformationen vor dem erneuten Test vervollständigt. Jetzt funktioniert es (Anfragen erscheinen auf der Tomcat-Seite).

verwandte Informationen