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

