tomcat 绑定域名 防止恶意域名绑定
http://aaronlong31.iteye.com/blog/1123260
服务器使用的是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环境搭建以及域名绑定
上一步主要主要讲解在服务器中建立自己的hexo博客环境,最后达到可以远程访问,以及远程git推送到github.这章主要讲解Tomcat环境的搭建,以及域名解析.到这里你的服务器以及可以被全世界的人民 ...
- Tomcat 配置 项目 到tomcat目录外面 和 域名绑定访问(api接口、前端网站、后台管理网站)
先停止tomcat服务 1.进入apache-tomcat-7.0.68/conf/Catalina/localhost(如果之前还都没有启动过tomcat,是不会有此目录的,先启动一次再关闭,会自动 ...
- Tomcat 8.5 配置 域名绑定
1.修改Tomcat的Server.xml两处地方即可: a) b)
- Tomcat配置多个域名绑定到不同项目
<Host name="www.dn-serve.com" appBase="webapps" unpackWARs="true" a ...
- 域名解析与多域名绑定多个Tomcat项目
第一步.域名解析 1.登录阿里云的服务器地址:https://www.aliyun.com/ 新手礼包地址:https://s.click.taobao.com/as9o9Ox 2.点击控制台 3 ...
- Tomcat绑定多个IP地址 多域名绑定
http://blog.csdn.net/stevenyanzhi/article/details/6029776 Tomcat绑定多个IP地址 如果一台服务机上有多个IP地址又有多个工程如何一个IP ...
- nginx反向代理+tomcat域名绑定
今天在用nginx做反向代理时,由于一个tomcat下有多个应用,因此要在tomcat做域名绑定.tomcat启动后,通过域名+端口是可以访问到页面的,但是通过nginx转发后就不能访问了,因此tom ...
- tomcat域名绑定设置
域名绑定分为单域名绑定.多域名绑定,配置主要涉及到tomcat目录下conf/server.xml文件 一.单域名绑定 1.修改server.xml 大约105行的内容(不是必须修改,如果只是绑定一个 ...
- Tomcat域名绑定
域名绑定与虚拟目录设置: conf/server.xml 的修改方式如下: 单个域名绑定: 原始: <Engine name="Catalina" defaultHost=& ...
随机推荐
- springcloud入门-什么是springcloud
1.单体应用架构存在的问题 一个归档包(例如war)包含所有功能的应用程序,通常称为单体应用. 相信很多项目都是从单体应用开始的,单体应用比较容易部署和测试,项目的初期,项目可以很好的运行,然而,随着 ...
- erlang大法好
可惜haxe不能生成erlang.不过没关系,s6k输入法的实际执行方案,现在由typescript改用haxe.cdt3的ts地位不变. 以后这个博客大部分内容都是跟haxe/typescript相 ...
- 修改C#mvc的默认首页
找到Global.asax,在其中RouteConfig.RegisterRoutes(RouteTable.Routes);这条方法上,右键转到定义,在defaults: new { control ...
- Python使用MySQL数据库(新)(转)
http://www.cnblogs.com/fnng/p/3565912.html 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步 ...
- SharePoint REST API - 同步SharePoint列表项
博客地址:http://blog.csdn.net/FoxDave 本篇只讲REST服务中的GetListItemChangesSinceToken这个东西.何谓同步呢,你也可以理解为增量变化,即 ...
- sqlx使用说明
sqlx使用指南 参考链接: http://jmoiron.github.io/sqlx/ sqlx是一个go语言包,在内置database/sql包之上增加了很多扩展,简化数据库操作代码的书写 资源 ...
- Mondrian辅助组件----Schema WorkBench(架构平台简介)
Schema WorkBech 是Pentaho套件的另一个组件,是mondrian中schema文件生成工具.通过Schema WorkBench我们可以快速生成一个schema文件,不再需要手写. ...
- leetcode题解 200. Number of Islands(其实就是一个深搜)
题目: Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is s ...
- web(八)CSS选择器
标签选择器 使用html标签筛选需要渲染的网页元素. 使用场景 修改标签的默认样式,例如ul li 有默认的内边距,开发时应去掉标签的默认样式. 设定全局字体样式. 根据分辨率设定html标签的默认字 ...
- WEBBASE篇: 第五篇, CSS知识3
CSS知识3 框模型: 一,外边距(上文) 二, 内边距 1,什么是内边距? 内边距就是内容与元素边缘之间的距离: 注: 内边距会扩大元素边框内所占的区域的 语法: padding: 四个方向的 ...