繁体   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