【发布时间】:2016-06-23 20:05:21
【问题描述】:
我们有多个服务器和一个负载平衡器。首次配置服务器时,会创建自签名证书。然后,服务器将其固定 IP 注册到负载均衡器。
当我们自己的 Android 应用想要访问服务器时,负载均衡器会告诉它 IP。由于我们可以通过将自己的证书安装在 SSLContext 中来信任自己的证书,因此 Android 应用可以使用 SSL 与服务器通信。
问题:我们希望扩展系统,以便任意浏览器可以访问我们的服务器,但这些浏览器不信任我们的自签名证书并向用户显示丑陋的消息。
因此,我们将不得不使用来自受信任 CA 的证书。但是这里我们遇到了问题,负载均衡器使用 IP,而不是域(可以更改)。如果我们想使用基于域的证书,我们必须在每台服务器上手动安装证书,并且/或者我们必须为域配置 DNS。
How are ssl certificates verified? 解释了身份验证过程中的步骤,但我看不清楚的是浏览器如何知道它联系的 IP 属于给定域?它是否查看反向条目?我可以以某种方式欺骗这个系统以解决手动安装和/或配置 DNS 的问题吗?另外,我认为即使是域证书通常也会颁发给 IP,所以我必须为每台服务器重新颁发它。任何人都可以连接点吗?像我们目前所做的那样自动配置服务器的最佳方法是什么,但使用来自 CA 的证书而不是自签名证书?有人知道我可以使用带有 API 的 CA 吗?
【问题讨论】:
标签: ssl-certificate