dram.me

Tomcat过滤Host头

OFBiz在e0f0d52中添加了host-headers-allowed配置项,用于限制访问的Host头。但灵活度不高,觉得这个配置的功能应该在tomcat层面可以处理。如Tomcat支持对请求信息过滤

在Tomcat中,同时存在Filter和Valve两种机制,两者的区别可以参考这里的讨论。可以基于RequestFilterValve实现,定义基于Host的过滤,设置setAllow值。

另一个思路是基于虚拟主机处理,将defaultHost设置RemoteAddrValve为拒绝任何访问。

一些Web框架有类似的功能,例如Django用ALLOWED_HOSTS。