服務器爲何要禁止經過IP直接訪問?html
一、若公佈於外網的服務器IP地址未備案,就有可能被工信部查封。這樣備案的域名也會沒法訪問。web
二、若是AppScan經過ip訪問掃描,會有「發現內部ip泄露模式」的低級別的警告安全風險apache
- 可能會收集有關Web 應用程序的敏感信息,如用戶名、密碼、機器名/或敏感文件位置安全
Tomcat服務爲例,可經過簡單的配置屏蔽IP地址直接訪問:服務器
IP地址是 120.77.145.25,相應域名是 www.unicom-iot.netapp
一、找到 conf/server.xml 的 Engine 節點webapp
<Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <Context path="/iot/file" docBase="/UIOT_FILE/" reloadable="true" /> </Host> </Engine>
修改成:spa
<Engine name="Catalina" defaultHost="www.unicom-iot.net"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="www.unicom-iot.net" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <Context path="/iot/file" docBase="/UIOT_FILE/" reloadable="true" /> </Host> <Host name="120.77.145.25" appBase="ipapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"/> </Engine>
二、此時能夠在webapps同級目錄建立 ipapps 目錄,再在 ipapps下建立一個 ROOT 目錄下拷貝,.net
同時在裏面的 放個 index.html 文件修改爲想要展現給用於的界面。code
三、重啓 Tomcat 便可。
POINTS:
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,而 120.77.145.25 對應的目錄是 %TOMCAT_HOME%/ipapps。
4.修改 localhost 爲 www.unicom-iot.net 後,在 %TOMCAT_HOME%/conf/Catalina/localhost 下配置的虛擬目錄會失效。
由於配置虛擬目錄的元素節點 Context 是 server.xml 下 Host 節點下的子節點,Catalina 下的文件夾名字是根據 host 節點的 name 屬性來的。
如今 Host 的 name 已經改 www.unicom-iot.net 那麼須要在 %TOMCAT_HOME%/conf/Catalina 新建一個 www.unicom-iot.net 的文件夾,
而後把 localhost 下的 myTest.xml 文件拷貝到 www.unicom-iot.net 文件夾下才能是虛擬目錄繼續有效。