tomcat禁止ip直接访问

key:

tomcat禁止ip直接访问

设置Tomcat不允许通过IP直接访问

更改host节点后虚拟目录设置失效 

发现内部ip泄露模式

1、若公布于外网的服务器IP地址未备案,就有可能被工信部查封。这样备案的域名也会无法访问。

2、如果AppScan通过ip访问扫描,会有“发现内部ip泄露模式”的低级别的警告

     安全风险
     - 可能会收集有关Web 应用程序的敏感信息,如用户名、密码、机器名和/或敏感文件位置

若是tomcat服务,可通过简单的配置屏蔽IP地址直接访问。

比如,有服务器,IP地址是 192.168.1.2 ,相应域名是 www.myTest.com

打开 %TOMCAT_HOME%/conf/server.xml文件
找到 Engine节点作如下

<Engine name="Catalina" defaultHost="www.myTest.com">     
      <Host name="www.myTest.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false"/>
      <Host name="192.168.1.2"  appBase="ipapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false"/>
    </Engine>

相关的点是:
1. Engine 节点配置的 defaultHost 表明缺省访问的Host。defaultHost对应的名称必须存在于Engine节点下配置的host节点中。
当一台机器有多个IP,而按照规定只允许通过一个指定的域名访问时很有用。此时,把defaultHost指定为非域名对应的host,这样不通过域名访问时就都定位到指定的非域名HOST了

2. Host 节点 name 对应IP地址,以及域名。一个Host只有指定一个IP或域名。

3. Host 节点的 appBase ,对应的是存放web应用的目录。这里输入的目录相对于 %TOMCAT_HOME%,
如上面的www.myTest.com对应的目录是 %TOMCAT_HOME%/webapps,而192.168.1.2 对应的目录是 %TOMCAT_HOME%/ipapps

4.如果想通过IP访问是给用于一个提示,比如:“您好!不允许通过IP直接访问本网站,请通过域名www.myTest.com访问”
此时可以在%TOMCAT_HOME%/ipapps目录下创建一个名为 ROOT web工程(可以从 webapps目录下拷贝),同时将里面的 index.html文件修改成想要展示给用于的界面。

5.修改localhost为"www.myTest.com"后,在%TOMCAT_HOME%/conf/Catalina/localhost下myTest.xml 中配置的虚拟目录会失效。因为配置虚拟目录的元素节点Context 是server.xml下Host 节点下的子节点,Catalina下的文件夹名字是根据host节点的name属性来的。现在Host 的name已经改www.myTest.com 那么需要在%TOMCAT_HOME%/conf/Catalina 新建一个"www.myTest.com"的文件夹,然后把localhost下的myTest.xml 文件拷贝到www.myTest.com 文件夹下才能是虚拟目录继续有效

参考:http://www.blogjava.net/weiwei/archive/2012/03/15/371919.html

猜你喜欢

转载自zhouchaofei2010.iteye.com/blog/1628499