練功房推薦書單

  • 猛虎出柙雙劍合璧版--最新 OCA / OCP Java SE 7 Programmer 專業認證 (電子書)
  • 流浪教師存零股存到3000萬(全新增修版)(書+DVD)
  • 開始在關西自助旅行(京都‧大阪‧神戶‧奈良)(全新增訂版)
  • 不敗教主的300張股票存股術

如何限制只有某些IP才能使用Tomcat Manager RSS feed
討論區首頁 » Application Server
發表人 內容
andowson

七段學員
[Avatar]

註冊時間: 2007/1/2
文章: 711
來自: 台北
離線
Tomcat所附的manager application可以讓網站管理者透過存取/manager/html的方式隨時去reload一個webapp,基本的安全性保護是透過conf/tomcat-users.xml的帳號跟密碼認證,如果還要進一步要求安全性的話,可以修改manager.xml,加上使用IP或主機名稱來限制來源主機,底下是用IP作限制的例子:
<Context docBase="${catalina.home}/server/webapps/manager"

privileged="true" antiResourceLocking="false" antiJARLocking="false">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.0.0.1,192.168.1.*"/>

<!-- Link to the user database we will get roles from -->
<ResourceLink name="users" global="UserDatabase"
type="org.apache.catalina.UserDatabase"/>

</Context>


只需要對原來的manager.xml加上
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.0.0.1,192.168.1.*"/>
的設定,其中allow是允許的來源IP,如果有兩個以上時用逗號(,)隔開,同一個網段,可用萬用字元星號(*)來表示。

參考資料:
The Apache Tomcat 5.5 Servlet/JSP Container - Manager App HOW-TO
Apache Tomcat Configuration Reference - The Valve Component

分享經驗 累積智慧
[WWW]
andowson

七段學員
[Avatar]

註冊時間: 2007/1/2
文章: 711
來自: 台北
離線
Tomcat 7.0的設定方法:
將webapps/host-manager/manager.xml 複製到conf/Catalina/localhost下

在manager.xml中加入下列設定到Context
<Valve className="org.apache.catalina.valves.RemoteAddrValve"

allow="127\.0\.0\.1|114\.\d+\.\d+\.\d+" denyStatus="404" />

兩個以上的IP用"|"分隔,注意到.前面要加上倒斜線(\)。
如:
<Context docBase="${catalina.home}/webapps/manager"

privileged="true" antiResourceLocking="false" antiJARLocking="false">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1|114\.\d+\.\d+\.\d+" denyStatus="404" />
</Context>


實際測試,發現不需重啟Tomcat立即生效

參考資料:
http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html#Remote_Address_Filter

分享經驗 累積智慧
[WWW]
 
討論區首頁 » Application Server
前往:   
行動版