关于tomcat服务器绑定域名防止恶意域名绑定

今天下午突然发现客户的域名被恶意域名“www.walking.cn”绑定了,由于之前没有遇到过这种情况,刚开始不知道是什么情况,还以为是客户那边改了,一问都没有,在网上找了很多解决方法什么ngnxi啊都不管用,都是说绑定自己的域名,没说如何不让其他域名绑定。

于是开始研究server.xml文件,修改tomcat/conf/server.xml,找到engine元素,仿照已有的localhost,添加host元素,比如你想禁止www.dddd.com,可以这样写: 

Xml代码   收藏代码
  1. <Host name="www.dddd.com"  appBase="notexists"  
  2.     unpackWARs="true" autoDeploy="true"  
  3.     xmlValidation="false" xmlNamespaceAware="false"></Host>  

其中的appBase是一个不存在的目录,所以www.dddd.com请求时,不会访问你真实的应用。但是这样只是屏蔽了一个已知的,还有很多恶意域名是不可预知的,你并不知道会有多少域名绑定到你的IP,所以这种方式行不通。 

上面的方式是默认允许,把禁止的列出来,变换下思路,默认禁止,将允许的列出来,这样不就OK了?所以有第二种方式: 
Xml代码   收藏代码
  1. <!-- default host is forbiden -->  
  2. <Engine name="Catalina" defaultHost="forbiden">  
  3.     <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  
  4.         resourceName="UserDatabase"/>  
  5.             
  6.     <!-- allow hosts -->  
  7.     <Host name="localhost"  appBase="webapps"  
  8.             unpackWARs="true" autoDeploy="true"  
  9.             xmlValidation="false" xmlNamespaceAware="false"></Host>  
  10.     <Host name="www.yourweb.com"  appBase="webapps"  
  11.             unpackWARs="true" autoDeploy="true"  
  12.             xmlValidation="false" xmlNamespaceAware="false"></Host>          
  13.     <Host name="192.168.0.34"  appBase="webapps"  
  14.             unpackWARs="true" autoDeploy="true"  
  15.             xmlValidation="false" xmlNamespaceAware="false"></Host>       
  16.               
  17.     <!-- forbiden host, the appBase is a not exists directory.   
  18.     If the requested domain is not in the above list of hosts where are allowed, then use this host.  
  19. -->  
  20.     <Host name="forbiden"  appBase="notexists"  
  21.             unpackWARs="true" autoDeploy="true"  
  22.             xmlValidation="false" xmlNamespaceAware="false"></Host>      
  23. </Engine>  

这里将Engine中的defaultHost设置为forbiden,下面有个name为forbiden的host,其appBase是个不存在的目录。再添加允许的host。所以,如果是未知的域名,则会使用forbiden的host,这样就访问不到真实应用目录了。 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值