Internet Information Server 的 Tomcat 連接器不工作

Internet Information Server 的 Tomcat 連接器不工作

我正在嘗試配置 Internet 資訊伺服器以與 Tomcat 一起使用,並按照以下步驟操作網站這是行不通的。

最糟糕的是,無法記錄或意識到問題出在哪裡。如網站中所示,有許多配置步驟,輸出應該是“ok”,但無法診斷問題出在哪裡。

資訊系統

我有一個 Windows Server 2012 R2 64 位,帶有安裝時附帶的 IIS。第一個問題:是32位還是64位?對於這個問題的其餘部分,我將假設它是 64 位元的。

雄貓

阿帕奇 tomcat 10.0.18。使用 java 版本 1.8.0_161 運行。伺服器配置為作為服務運行,並以「本機系統帳戶」登入。對於此範例,假設安裝在%TOMCAT_HOME%.

AJP 連接器配置如下:

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

並確認它正在工作:

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

Microsoft IIS 的 ISAPI 重定向器

已下載從這裡。 64位元版本。安裝在%TOMCAT_HOME%\isapi.設定檔是:

ì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

IIS的配置試過了

  1. 我已isapi按照手冊的要求授予了該目錄的權限:

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

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

  2. 我創建了名為“jakarta”的 af**** 虛擬目錄(這是我第三次或第四次這樣做)並將其指向後面的目錄(見下文)。虛擬目錄的「連線為」屬性配置為「應用程式使用者(直通身份驗證)」:

在此輸入影像描述

  1. 處理程序映射配置如下:

在此輸入影像描述

存取請求限製配置為“無”。但我也嘗試過“執行”,但沒有任何反應。

  1. ISAPI 篩選器配置:

在此輸入影像描述

問題是顯然一切正常,如果我使用 32 位元 ISAPI 過濾器,嘗試連接到虛擬路徑時得到的輸出是 500 錯誤,如果使用 64 位元 ISAPI 過濾器,則輸出是 403 錯誤。我究竟做錯了什麼?更重要的是,有沒有一種方法可以診斷這個 clusterfuck 的不同部分是否正確,檢查 ISAPI 過濾器是否工作,tomcat 的 AJP 連接器是否工作等等?

在此輸入影像描述

答案1

解決:如果你讀過連接器的更新參考你會發現幾件事:

請注意,在 64 位元環境中 - 至少對於 IIS 7 -使用的 IIS 應用程式集區應將“啟用 32 位元應用程式”設定為“False”。否則,重定向器將不會被呼叫並傳回 http 程式碼 404。

我已經在再次測試之前完成了註冊表資訊。現在它正在工作(請求出現在 tomcat 端)。

相關內容