设置Tomcat不允许通过IP直接访问
若公布于外网的服务器IP地址未备案,就有可能被工信部查封。这样备案的域名也会无法访问。若是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 >
< 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文件修改成想要展示给用于的界面。