Bos*_*osh 12 security webserver tomcat tomcat6
我正在运行Tomcat 6来提供多个Web应用程序,其中大部分是面向公众的.但是我想限制只访问一个 webapp,只允许来自localhost的连接.
我可以使用context.xml中的valve 来限制对所有 webapps的访问,如下所述:
但我无法弄清楚如何限制每个应用程序的访问.有没有办法用我的应用程序的web.xml执行此操作?或者通过向context.xml添加其他规则?
谢谢,
-B
$ cp /var/lib/tomcat6/conf/context.xml \
/var/lib/tomcat6/conf/Catalina/localhost/my-app-name.xml
$ cat /var/lib/tomcat6/conf/Catalina/localhost/my-app-name.xml
<Context>
<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="localhost"/>
... {as previously} ...
</Context>
Run Code Online (Sandbox Code Playgroud)
您可以为您的app创建单独的context.xml.
这是Tomcat doc关于上下文配置的摘录:可以明确定义上下文元素:
$CATALINA_HOME/conf/context.xml文件中:Context元素信息将由所有webapps加载.在$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default文件中:Context元素信息将由该主机的所有webapps加载..xml扩展名)中$CATALINA_HOME/conf/[enginename]/[hostname]/.文件名(减去.xml)扩展名将用作上下文路径.可以使用#例如foo#bar.xml用于上下文路径来定义多级上下文路径/foo/bar.可以使用调用的文件来定义默认Web应用程序ROOT.xml.$CATALINA_HOME/conf/[enginename]/[hostname]/; 在/META-INF/context.xml应用程序文件内的单个文件中.如果Web应用程序打包为WAR,/META-INF/context.xml则将复制并重$CATALINA_HOME/conf/[enginename]/[hostname]/命名以匹配应用程序的上下文路径.一旦此文件存在,如果/META-INF/context.xml在主机的appBase中放置了一个带有较新版本的新WAR,则不会替换它.| 归档时间: |
|
| 查看次数: |
25636 次 |
| 最近记录: |