原文地址: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多域名绑定】是Web服务器管理中的一个重要概念,尤其对于运行多个独立网站或应用的开发者来说,这是必须掌握的技术。Tomcat,作为Apache软件基金会的一个开源项目,是Java Servlet和JavaServer Pages(JSP)...
Tomcat 域名绑定详解 在本文中,我们将详细讨论 Tomcat 域名绑定的相关知识点,并提供实践经验,以帮助读者更好地理解和应用 Tomcat 域名绑定技术。 一、域名绑定概述 在互联网时代,域名已经成为网站的标识符,...
tomcat服务器绑定域名
Linux Tomcat绑定多个域名配置;里面有详情
当涉及到“tomcat域名绑定”,我们实际上是在讨论如何配置Tomcat来处理来自不同域名的请求,并将它们映射到特定的应用程序目录。这个过程通常称为虚拟主机配置,允许在一个单一的Tomcat实例上托管多个独立的Web站点...
文档讲解了tomcat绑定域名的原理,和代码
如何安装配置你的tomcat5并绑定域名
在IT行业中,域名绑定是一个常见的任务,特别是在搭建Web服务器时,比如Tomcat。Tomcat是Apache软件基金会的一个开源项目,它是一个轻量级的应用服务器,主要用于处理Java Servlet和JavaServer Pages(JSP)。当我们...
配置域名在Tomcat中是将一个特定的URL与部署在服务器上的应用关联起来的过程,这对于多站点托管或者为不同项目提供独立访问入口至关重要。下面将详细解释如何使用Tomcat配置域名。 首先,我们需要理解域名配置的...
然而,有时Tomcat默认可能会绑定到IPv6地址,这可能导致在某些网络环境下无法正常访问服务。本教程将指导您如何在CentOS 7上配置Apache Tomcat,使其绑定到IPv4地址。 首先,确认您的系统中已经安装了Apache Tomcat...
eclipse和tomcat的连接,以及之间绑定的注意细节,以免在绑定是出错
3. **绑定域名至Tomcat**:为了让域名指向Tomcat服务器,需要在`server.xml`文件中添加`<Host>`元素,并指定域名。 - 在`<Engine>`标签内添加如下配置: ```xml ``` - 其中`name`属性为要绑定的域名,`...
配置tomcat直接输入域名访问
设置tomcat只允许域名访问 设置tomcat只允许域名访问
本文将详细介绍Tomcat Web应用绑定域名的几种方式,从而帮助开发者实现这一目标。 1. 使用反向代理方式绑定域名 通常情况下,出于安全考虑,我们不会直接将Tomcat运行在标准的HTTP端口80上,而会选择运行在非标准...
标题"同一台机不同IP不同tomcat.zip_boarddua_tomcat 多IP_tomcat绑定ip"以及描述"在同一台物理机上进行多IP配置并绑定到多tomcat上,可使用同一端口通信",明确指出了这个主题是关于在单个机器上配置多个Tomcat实例...
本教程将详细讲解如何将Tomcat与JDK7进行绑定配置,以便你可以直接通过启动脚本来运行服务。 首先,我们需要理解JDK在Tomcat中的作用。JDK提供了运行Java程序所需的环境,包括Java虚拟机(JVM)、编译器和其他必要...
Tomcat 基于域名的虚拟主机 Tomcat 是一个流行的开源 Web 服务器和 Servlet 容器,基于域名的虚拟主机是 Tomcat 的一个重要特性。虚拟主机允许多个域名共享同一个 IP 地址,从而提高服务器的利用率和灵活性。 在...
### Tomcat 5.5 配置:多域名绑定与虚拟目录详解 #### 一、背景介绍 在 Web 应用服务器领域,Apache Tomcat 是一个非常流行的 Java Servlet 容器,广泛应用于 Java Web 应用程序的部署。随着互联网的发展,单一...