1.全局設置,設置允許某些IP能夠訪問到tomcat服務器,或不能訪問tomcat服務器
在<Host> </Host> 之中添加以下代碼
1,只允許192.168.1.10訪問: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10" deny=""/>
2,只允許192.168.1.*網段訪問: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>
3,只允許192.168.1.10、192.168.1.30訪問: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10,192.168.1.30" deny=""/>
根據主機名進行限制:
<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="abc.com" deny=""/>
設置這個myapp實例的訪問權限
用文本編輯器打開tomcat的 server.xml配置文件,在<Host> </Host> 之中添加以下代碼添加代碼如下:
<context path=”/myapp” reloadable=”true” docBase=”/var/www/myapp”>
<valueclassName=”org.apache.catalina.values.RemoteAddrValue” allow=”127.0.0.1” deny=”″ />
</context>
這樣只允許本機 127.0.0.1這個地址 訪問 xxx.xxx.xxx.xxx:8080/myapp
<Context path="/core/production" reloadable="true" docBase="core/production">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="10.0.7.99|10.0.7.9" deny=""/>
</Context>
這個實例中 只要10.0.7.99|10.0.7.9 這兩個ip可以訪問 xxx.xxx.xxx.xxx:8080/core/production
而這個訪問路徑的實際訪問位置是core/production
要限制 多個ip的可以使用正則;或者可以用 , 或者 | 作為分隔(tomcat版本不同)。
1. 在tomcat 5.5之前
docBase: 指定Web應用的文件路徑,可以給定絕對路徑,也可以給定相對於<Host>的appBase屬性的相對路徑,
如果Web應用采用開放目錄結構,則指定Web應用的根目錄,
如果Web應用是個war文件,則指定war文件的路徑。
reloadable :如果這個屬性設為true,tomcat服務器在運行狀態下會監視在WEB-INF/classes和WEB-INF/lib目錄下class文件的改動,
如果監測到有class文件被更新的,服務器會自動重新加載Web應用。
在開發階段將reloadable屬性設為true,有助於調試servlet和其它的class文件,但這樣用加重服務器運行負荷,
建議在Web應用的發布階段將reloadable設為false。
2. 在tomcat 5.5之后
而 context.xml 文件則不然, tomcat 服務器會定時去掃描這個文件。一旦發現文件被修改(時間戳改變了),就會自動重新加載這個文件,而不需要重啟服務器 。
<Context path="/kaka" docBase="kaka" debug="0" reloadbale="true" privileged="true"> <WatchedResource>WEB-INF/web.xml</WatchedResource> <WatchedResource>WEB-INF/kaka.xml</WatchedResource> 監控資源文件,如果web.xml || kaka.xml改變了,則自動重新加載改應用。 <Resource name="jdbc/testSiteds" 表示指定的jndi名稱 auth="Container" 表示認證方式,一般為Container type="javax.sql.DataSource" maxActive="100" 連接池支持的最大連接數 maxIdle="30" 連接池中最多可空閑maxIdle個連接 maxWait="10000" 連接池中連接用完時,新的請求等待時間,毫秒 username="root" 表示數據庫用戶名 password="root" 表示數據庫用戶的密碼 driverClassName="com.mysql.jdbc.Driver" 表示JDBC DRIVER url="jdbc:mysql://localhost:3306/testSite" /> 表示數據庫URL地址 </Context>