【发布时间】:2015-07-23 17:07:59
【问题描述】:
我有一个与基于 REST 的网络服务通信的移动应用程序。 Web 服务位于防火墙后面并与其他系统通信。目前,此 Web 服务需要打开防火墙端口并为每次安装生成 SSL 证书。移动应用程序发送登录凭据,以便网络服务可以登录到自定义后端系统。
最近一位客户找到我们,询问我们如何将其部署到 50 个办公室。由于我们不想修改每个办公室的每个防火墙,因此我们正在寻找选项。这是可能的解决方案列表以及我对每个解决方案的想法:
打开防火墙端口并暴露 https webservice - 这是我们当前的 解决方案,但我们不想联系 50 位网络管理员并解释为什么我们需要这样做。
VPN - 太重,复杂且昂贵,我们只需要访问 到一台服务器。不能解决问题,因为防火墙需要 修改。
Microsoft Azure 混合连接管理器 - 这提供了一个托管的 Azure 云将在其中公开端点的服务。蔚蓝将 还期望来自易于安装的应用程序的连接 住在防火墙后面。当对云进行 REST 调用时 端点,请求是由发起的向下转发套接字 防火墙后面的软件。这做了我们想要的,但作为它的 那里的 Microsoft 解决方案可能会施加我们的其他要求 客户可能不想要。目前简单的混合连接管理器是免费的。但是持续多久?
Jscape MFT 网关 - 类似于 Azure,但您可以在任何地方托管他们的服务器。不是那么贵,但不是开源的。
Netty - 一个异步 java 库/工具包,可以轻松构建此类应用程序。需要构建和部署客户端和服务器应用程序。不知道我们对 Netty 的了解。
MDM、AirWatch、BlackBerry BES - 基于 MDM 的解决方案可以正常工作,但前提是 MDM 是集中管理的,而且并不经常出现在后端服务所在的每个办公室中。 Airwatch 有一个 AppTunnle,但我不确定具体细节。
此时Microsoft 和Jscape 系统是可能的解决方案。
但这些解决方案很可能需要我们修改移动软件以解决以下问题:
用户如何知道要登录哪个服务器?定位器服务 需要建立这样,一个电子邮件地址用于查找他们 办公室,或者他们需要从列表中选择他们的办公室位置。
虽然连接是 SSL,但许多公司可能需要一些额外的保护,因为网络登录信息将通过管道发送。
如何管理负载平衡和故障转移?
所以,在这一点上,我正在寻找更多选择。最好的选择是提供某种程度定制的商业产品。其次,想要一个可以在 Aws 中安装和定制的使用良好的开源产品。
谢谢
【问题讨论】:
-
仅供参考,GoAnywhere 有最好的解决方案 [link] goanywheremft.com
-
找到了一个node.js模块,叫做node-reverse-wstunnel。它可以工作,但有几个问题需要解决。
标签: azure reverse-proxy mdm