tomcat 訪問權限設置


1.全局設置,設置允許某些IP能夠訪問到tomcat服務器,或不能訪問tomcat服務器

只需要編輯tomcat的server.xml,增加適當代碼即可。
修改如下:
在<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.10192.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=""/>

 

2.部分設置
例如我們有一個名為webapps/myapp的虛擬目錄。
設置這個myapp實例的訪問權限
用文本編輯器打開tomcat的 server.xml配置文件,在<Host>  </Host>  之中添加以下代碼添加代碼如下:
 
<context path=”/myapp” reloadable=”truedocBase=”/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是訪問路徑    docBase是你文件的位置
 <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之前

path:        即要建立的 虛擬目錄 指定訪問該Web應用的URL入口,如:http://127.0.0.1:8080/helloApp1。 

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之后
         不推薦在server.xml中進行配置,而是在/conf/context.xml中進行獨立的配置。因為 server.xml 是不可動態重加載的資源,服務器一旦啟動了以后,要修改這個文件,就得重啟服務器才能重新加載。
         而 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>  

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM