网站服务器tomcat禁止ip直接访问

如何设置Tomcat不允许通过IP直接访问呢?

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

发现内部ip泄露模式。

 

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

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

 

安全风险

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

 

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

 

比如,有服务器,IP地址是 192.168.1.2 ,相应域名是 www.hualai.net.cn

 

打开 %TOMCAT_HOME%/conf/server.xml文件

找到 Engine节点作如下

  
  
  
  
  1. <Engine name="Catalina" defaultHost="www.hualai.net.cn">          
  2.       <Host name="www.hualai.net.cn"  appBase="webapps"     
  3.             unpackWARs="true" autoDeploy="true"     
  4.             xmlValidation="false" xmlNamespaceAware="false"/>     
  5.       <Host name="192.168.1.2"  appBase="ipapps"     
  6.             unpackWARs="true" autoDeploy="true"     
  7.             xmlValidation="false" xmlNamespaceAware="false"/>     
  8. </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.hualai.net.cn对应的目录是 %TOMCAT_HOME%/webapps,而192.168.1.2 对应的目录是 %TOMCAT_HOME%/ipapps

 

4.如果想通过IP访问是给用于一个提示,比如:“您好!不允许通过IP直接访问本网站,请通过域名www.hualai.net.cn访问”

此时可以在%TOMCAT_HOME%/ipapps目录下创建一个名为 ROOT web工程(可以从 webapps目录下拷贝),同时将里面的 index.html文件修改成想要展示给用于的界面。

 

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

你可能感兴趣的:(java,tomcat,Web,jsp)