[英]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.