1

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

我的第一次尝试只是将第二个模块条目添加到 application.xml 具有新的上下文根但相同的战争文件。我没有工作,除非我用新名称复制了战争文件。我真的不喜欢这个解决方案,虽然它有效。

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

这可以通过前锋来完成,然后应该如何实施?

4

1 回答 1

2

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

因此,使用 Apache 的 mod_proxy,您需要进行设置:

# 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/newcontext 或 http://apacheserver.com/oldcontext

这种架构的另一个优点是它为您提供了额外的安全性,因为客户端不直接访问网络服务器。当然,您不仅限于一种上下文,您可以在 apache 中创建任意数量的上下文。

我希望它会有所帮助。

于 2012-11-08T17:09:21.737 回答