我在 mod_jk.log 檔案中看到垃圾郵件,並顯示以下錯誤訊息: jk_connect.c (593): connect to 127.0.0.1:8009 failed (errno=61)
Tomcat 運作正常,Apache 和 Tomcat 之間沒有配置防火牆(它們都在同一台電腦上運行),並且在 8009 上有一個偵聽器。 ,包含上述訊息的日誌檔。
一旦垃圾郵件開始,我發現恢復的唯一方法是先重新啟動 Tomcat,然後重新啟動 Apache。
造成此類問題的最可能原因是什麼?
答案1
這可能有多種原因:
- tomcat沒有運行
- tomcat正在運行,但沒有配置連接埠8009的連接器
- tomcat 正在運行,但 apache 和 tomcat 之間的防火牆不允許連接埠 8009 上的流量(在您的情況下不應出現這種情況)
- tomcat正在運行,但沒有監聽這個ip
答案2
就在本週,我在全新安裝時遇到了完全相同的問題。我已經從 Tomcat 5.5 安裝中逐個檔案複製了所有內容,該安裝完全按照預期工作,因此這確實是一個令人費解的情況。
所以我運行 TCPView,我可以看到 AJP 沒有綁定 TCP 連接埠 8009(但它是 TCPv6!wth...)
看來更高版本的 Tomcat、isapi_redirect.dll 或 Tomcat5w.exe(Tomcat 服務)似乎是「TCPv6 感知」的,這就是問題開始的地方。
好消息是您可以將 server.xml 中的「address」屬性設定為 IPv4 位址,例如:
<Connector address="192.168.1.109" port="8080"
...為您的網路服務和
<Connector address="192.168.1.109" port="8009"
...用於 ajp/1.3 連接器
請注意,無論您將地址設置為什麼,請確保您的worker.properties 文件具有相同的設置,例如:
worker.ajp13w.host=192.168.1.109
……這似乎就是全部了。