我们用的是Apache的虚拟主机,将请求通过JK转给tomcat。
而Apache的Deny From语句需要directory下才能写,但对于动态请求如.jsp实际上都JKMount给了tomcat,apache不会拦截。请问,如何配置,才能让Apache对所有请求执行Deny From从而实现IP封锁,而通过的请求有可以正常的转给tomcat或者静态文件自己处理?
谢谢。
[b]问题补充:[/b]
补充:感谢jiaozhenqing的回答,不过不想在tomcat上面进行IP限制。两个原因:1. tomcat重启不如apache重启方便影响小;2. tomcat负载很高了,这个东西想分给web服务器解决掉。
在apache中进行IP或者主机名对tomcat项目访问控制的方法:
JkMount jkstatus
Order deny,allow
Deny from all
Allow from 10.83.25
JkMount 项目路径名称是你在mod_jk.conf文件中设置的转发路径
Order deny,allow
Deny from all
Allow from 10.83.25
不一定完全明白你的意思,我们目前是这样控制访问路径的。
JkMount /* router
JkMount /jkmanager/* jkstatus
JkUnMount /icons/* router 这个请求不转发到tomcat上面
利用JkUnMount可以控制部分路径的访问,但是基于IP地址的访问控制还无法做到。
可以放在tomcat中对具体应用做访问控制