原文地址:http://www.zlong.org/tomcat-binding-domain-bound-to-prevent-malicious-domain/
今天公司一台服务器被很多恶意域名绑定了,电信的要我们赶紧处理,否则封IP。
服务器使用的是tomcat,上谷歌搜了很多方法,都是说绑定自己的域名,没说如何不让其他域名绑定。
开始我想了一种方法:修改tomcat/conf/server.xml,找到engine元素,仿照已有的localhost,添加host元素,比如你想禁止www.fff.com,可以这样写:
<!--more-->
<Host name="www.fff.com" appBase="notexists"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"></Host>
其中的appBase是一个不存在的目录,所以www.fff.com请求时,不会访问你真实的应用。但这样只能禁止www.fff.com,不会禁止fff.com,所以还得加个name为fff.com的host,这样就太麻烦了,并且一些恶意域名是不可预知的,你并不知道会有多少域名绑定到你的IP,所以这种方式行不通。
上面的方式是默认允许,把禁止的列出来,变换下思路,默认禁止,将允许的列出来,这样不就OK了?所以有第二种方式:
<!-- default host is forbiden -->
<Engine name="Catalina" defaultHost="forbiden">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- allow hosts -->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"></Host>
<Host name="www.zh56.mobi" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"></Host>
<Host name="222.73.227.231" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"></Host>
<!-- forbiden host, the appBase is a not exists directory.
If the requested domain is not in the above list of hosts where are allowed, then use this host.-->
<Host name="forbiden" appBase="notexists"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"></Host>
</Engine>
这里将Engine中的defaultHost设置为forbiden,下面有个name为forbiden的host,其appBase是个不存在的目录。再添加允许的host。所以,如果是未知的域名,则会使用forbiden的host,这样就访问不到真实应用目录了。
分享到:
相关推荐
看看这个 叫你如何tomcat绑定域名
实现了在tomcat下部署多个自己的项目和特定的域名绑定。
tomcat服务器绑定域名
Linux Tomcat绑定多个域名配置;里面有详情
这是给上海申通部署的时候,他们要项目部署在域名上,按照里面说的方法就可以部署到域名上,实际有点经验的,根本不需要看这个文档,如果有什么不明白的,可以联系我
文档讲解了tomcat绑定域名的原理,和代码
一个教你怎么样绑定tomcat域名的文档
如何安装配置你的tomcat5并绑定域名
通过修改tomcat实现域名的绑定。
使用Tomcat配置域名的方法。
eclipse和tomcat的连接,以及之间绑定的注意细节,以免在绑定是出错
在CentOS中给Apache Tomcat绑定IPv4地址的教程.docx
tomcat域名绑定.pdf
TOMCAT的域名配置. TOMCAT的域名配置
配置tomcat直接输入域名访问
设置tomcat只允许域名访问 设置tomcat只允许域名访问
tomcat域名绑定[归类].pdf
apache+tomcat域名泛解析
Tomcat 域名设置,配置。 tomcat配置虚拟目录和域名
使用Tomcat实现多个域名映射到一个服务器上的不同服务