我不是网络工程师,而是软件工程师,所以这个主题对我来说很陌生。我们开发了一个解决方案,它由一个在 Java 服务器上运行的服务器端 Web 应用程序(带有 rest api)和一个使用来自服务器的 rest 服务的客户端 ios 应用程序(非浏览器)组成。
客户端在服务器上通过智能购物车上的 X509 证书进行身份验证。当客户端在我们的开发环境中可以直接访问服务器时,一切都运行良好。
但现在我们有了一个生产环境,我们的客户端应该位于互联网的某个地方,而我们的服务器位于内联网中。有一个 Microsoft Forefront UAG (SP3) 作为从互联网到内联网的企业网关。我从未在实践中使用过 UAG,两天前甚至没有听说过它,我无法理解我们需要它的哪些功能来帮助我们解决任务。明确地说,我们的任务是:
- 客户端应该与“端点”建立 https 连接(它是我们在开发环境中的服务器,现在是生产环境中的 UAG 服务器)
- UAG 应该检查客户端证书(是否有效、未被撤销等)
- UAG 应将客户端请求传输到我们位于内联网的服务器应用程序
- 关键要求UAG 应该“帮助”服务器应用程序进行进一步的客户端授权。在开发环境中,我们使用客户端 X509 证书属性来识别用户,但我认为(我是对的吗?)UAG 需要终止 SSL 会话,并且客户端请求证书不能将整个 https 请求传输到后端服务器。好的,我同意如果 UAG 将转换客户端请求(解密后,在翻译到服务器之前)并将一些客户端证书详细信息放入 HTTP 标头。或者即使他使用适当的配对证书重新加密它(即使它会更难处理)。
您能帮我说几个我需要查看的关键词以了解它是如何工作的吗?UAG 功能列表中有很多新词(SSL VPN、SSL 隧道、DirectAccess 等),每个词似乎都与任务有点相关,但我不明白我需要什么以及什么会按我们的预期工作。
非常感谢。