260C6F3DEA8F4776BB1EA85FBFD77A73
  • Thomas Pollinger
  • 26.12.2019
  • DE/EN

Achtung: Update Tomcat auf 8.5.44+ unter Windows per Installer

Wer einen Tomcat unter Windows in der Version 8.5.43 oder älter betreibt und ein Update plant sei gewarnt. Die Apache Group hat mit dem Update 8.5.44 und neuer einen kleinen Change eingebaut, welcher große Auswirkungen haben kann. Es handelt sich dabei um:

55969: Tighten up the security of the Apache Tomcat installation created by the Windows installer. Change the default shutdown port used by the Windows installer from 8005 to -1 (disabled). Limit access to the chosen installation directory to local administrators, Local System and Local Service. (markt)

Wenn man, so wie ich das immer mache, per Installer ein Update unter Windows für den Tomcat durchführt und dann noch den ISAPI-Connector nutzt, könnte etwas erstaunt sein. Sofern man ein Update von einer älteren Version als 8.5.44 auf eine Version gleich oder neuer als 8.5.44 durchführt.

Denn der o.g. Change verändert direkt mehrere Dinge ohne direkt im Installer daraufhinzuweisen:

  • Change the default shutdown port used by the Windows installer from 8005 to -1 (disabled)
  • Limit access to the chosen installation directory to local administrators, Local System and Local Service.

Dies kann dazuführen, dass der IIS via ISAPI-Connector plötzlich Fehlermeldungen wirft und nicht mehr auf den Tomcat zugreifen kann - obwohl dieser gestartet und per Port 8080 lokal auf dem Server erreichbar ist.

Typische Fehlermeldung dafür sieht wie folgt aus:

EventID 2214
The HTTP Filter DLL C:\Program Files\Apache Software Foundation\Tomcat 8.5\connector\isapi_redirect.dll failed to load.  The data is the error.
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    <System>
        <Provider Name="Microsoft-Windows-IIS-W3SVC-WP" 
            Guid="{670080D9-742A-4187-8D16-41143D1290BD}" 
            EventSourceName="W3SVC-WP" />
        <EventID Qualifiers="49152">2214</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2019-11-30T09:44:45.000000000Z" />
        <EventRecordID>56777</EventRecordID>
        <Correlation />
        <Execution ProcessID="0" 
            ThreadID="0" />
        <Channel>Application</Channel>
        <Computer>...</Computer>
        <Security />
    </System>
    <EventData>
        <Data Name="IsapiFilter">C:\Program Files\Apache Software Foundation\Tomcat 8.5\connector\isapi_redirect.dll</Data>
        <Binary>05000000</Binary>
    </EventData>
</Event>

Man kann dieses Verhalten lösen, indem man auf dem Dateisystem (NTFS) für den Tomcat-Installations-Ordner wieder die notwendigen Rechte hinzufügt. Damit der IIS wieder auf den ISAPI-Connector, welcher normalerweise auch im Tomcat-Installations-Ordner liegt, zugreifen kann.


Über den Autor:
Thomas Pollinger

... ist Senior Site Reliability Engineer bei der Vodafone GmbH in Düsseldorf. Seit dem Jahr 2007 betreut er zusammen mit seinen Kollegen die OpenText- (vormals RedDot-) Plattform Web Site Management für die deutsche Konzernzentrale.

Er entwickelt Erweiterungen in Form von Plug-Ins und PowerShell Skripten. Seit den Anfängen in 2001 (RedDot CMS 4.0) kennt er sich speziell mit der Arbeitweise und den Funktionen des Management Server aus.