一个应用程序的多个上下文根

问题描述 投票:1回答:1

我们已重命名Apple MDM使用的上下文根,现在需要向后兼容已注册的设备。我们正在运行JBoss

我的第一次尝试只是向application.xml添加第二个模块条目,其中包含一个新的上下文根但是相同的war文件。我没有工作,除非我用新名称制作了war文件的副本。我真的不喜欢这个解决方案虽然有效。

相反,我尝试将一个Valve添加到根应用程序,然后该应用程序将旧的上下文根重定向到新的根。这也很有效,直到设备发出POST,然后发布的二进制内容丢失。 这个解决方案的好处是我们可以建立一个新的上下文根,为处理Android和Windows Phone的MDM做好准备。

这可以通过前进来完成,那么应该如何实施呢?

redirect jboss forwarding mdm
1个回答
2
投票

在我们公司,我们用代理解决了这些问题,因此客户端并不真正直接访问JBoss服务器,而是直接访问重定向到JBoss的代理。我们使用带有mod_proxy的Apache Web服务器。

所以使用mod_proxy for Apache,你可以设置它:

# for the newcontext
ProxyPass /newcontext http://jbosserver.com/newcontext
ProxyPassReverse /newcontext http://jbossserver.com/newcontex
# for the oldcontext
ProxyPass /oldcontext http://jbosserver.com/newcontext
ProxyPassReverse /oldcontext http://jbosserver.com/newcontext

因此,如果代理的名称是apacheserver.com,您可以使用以下命令访问该服务:http://apacheserver.com/newcontexthttp://apacheserver.com/oldcontext

此体系结构的另一个优点是,它为您提供了额外的安全性,因为客户端无法直接访问Web服务器。当然,您不仅限于一个上下文,您可以在apache中创建任意数量的内容。

我希望它会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.