出于各种原因,我想在一段闲置时间后关闭我的服务器。我在Debian 4.9.88上运行Tomcat 8.5.29和Apache2(不确定版本)。我写了一个脚本来查看Tomcat最后一次访问的时间。我在服务器上只有一个应用程序,它位于“http://hostname/source/”。我的问题是那里有很多网络服务器漏洞,而且我的请求流量不断增加: “GET / HTTP / 1.1” “POST / GponForm / diag_Form?images / HTTP / 1.1” “GET /jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system%3Aservice%3DMainDeployer HTTP / 1.1” “POST / user / register?element_parents = account / mail /%23value& ajax_form = 1& _wrapper_format = drupal_ajax HTTP / 1.1”
我想做的是阻止任何不以“/ source”开头的东西甚至到达tomcat。我认为Apache中的重写或其他东西可以做到,但我不确定请求是如何首先进入Tomcat的。 有什么想法吗?
答案 0 :(得分:0)
请求有两种方法可以访问Tomcat:
探针直接向Tomcat端口(通常是端口8080)发送请求。您可以通过将属性address="127.0.0.1"
添加到conf/server.xml
中的相应Connector元素,将Tomcat的侦听地址限制为环回地址来解决此问题。或者您可以阻止防火墙中的端口8080。
请求通过Apache中的反向代理配置从Apache转发到Tomcat。这意味着在其中一个Apache配置文件中有一行如下所示:
ProxyPass / http://127.0.0.1:8080/
如果为两个参数添加显式路径前缀,则可以限制将哪些请求传递给Tomcat:
ProxyPass /source http://127.0.0.1:8080/source
这可确保只有以“/ source”开头的请求才会转发到Tomcat。
某些Apache配置使用AJP协议而不是HTTP进行代理,但同样的原因也适用。