Tomcat:限制对/ just one / webapp的本地主机访问
我正在运行Tomcat 6,以服务于多个Web应用程序,其中大多数都是面向公众的。但是我 只想 限制对 一个 webapp的访问, _只_允许来自本地主机的连接。
但我不知道如何限制每个应用程序的访问。有没有办法使用我的应用程序的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>
回答:
您可以为您的应用程序创建一个单独的context.xml。
这是来自Tomcat文档的上下文配置摘录:可以显式定义上下文元素:
- 在
$CATALINA_HOME/conf/context.xml
文件中:Context元素信息将由所有webapp加载。在$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default
文件中:上下文元素信息将由该主机的所有webapp加载。 - 在目录中的单个文件中(带有
.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,将不会替换该文件。
以上是 Tomcat:限制对/ just one / webapp的本地主机访问 的全部内容, 来源链接: utcz.com/qa/400287.html