簡體   English   中英

我怎么知道tomcat是否在Apache后面運行?

[英]How can I know if tomcat is running behind Apache?

在生產中,我們將Tomcat運行在apache之后,在開發中運行裸tomcat。 我如何才能知道Servlet類是否在apache之后運行?

如果要在開發環境和生產環境之間進行區分,那么最好完全將其控制在您的控制之下,而不是臨時猜測(最終會失敗),這樣可能會更好。

可能是“ JNDI中是否設置了功能X?” 或“是否在c:/ourproject.properties中設置了屬性foo.bar”。 您不應該依賴於“是否從文件中加載了類X或在jar中找到了類X”(因為如果您更改應用程序服務器,這會中斷)或“是否存在HTTP標頭行X”之類的工件,因為這超出了您的控制范圍如果其他人將Apache用作前端加速器,則可能會中斷。

因此,顯式配置-可以很容易完成:)

這取決於您的Apache與Tomcat的通信方式。

如果通過HTTP(mod_proxy)連接,則可以檢查request.getRemoteAddr()。 這將是Apache的IP,可能是您的內部IP。 您還可以檢查“ Via”標頭以查看Apache是​​否存在。

如果通過AJP(mod_jk / mod_proxy_ajp)連接,則可以檢查request.getLocalPort()以查看它是否是JK連接器的端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM