![](/img/trans.png)
[英]How can I read Apache Httpd Env variables from a Java application running in TomCat?
[英]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.