2016-06-23 131 views
0

我们有多个服务器和一个负载平衡器。首次配置服务器时,将创建自签名证书。然后服务器将其固定IP与负载均衡器一起注册。如何自动从CA安装证书?

当我们自己的Android应用程序想访问服务器时,负载均衡器会告诉它IP。因为我们可以通过将其安装在SSLContext中来信任我们自己的证书,所以Android应用程序可以使用SSL与服务器进行通信。

问题:我们希望扩展系统,以便任意浏览器可以访问我们的服务器,但这些不会信任我们的自签名证书并向用户显示一个丑陋的消息。我们将不得不使用来自可信CA的证书。但在这里我们遇到了问题,即负载均衡器使用IP,而不是域(可以更改)。如果我们想要使用基于域的证书,我们必须在每台服务器上手动安装证书,并且/或者我们必须为域配置DNS。

How are ssl certificates verified?解释认证过程中的步骤,但我没有清楚看到的是浏览器如何知道它所联系的IP属于给定的域?它看着反向条目吗?我能否以某种方式欺骗这个系统,以解决手动安装和/或配置DNS的问题?此外,我认为即使是一个域名证书通常颁发给IP,所以我将不得不为每个服务器重新发布它。任何人都可以连接点吗?像我们现在这样自动配置服务器的最佳方式是什么,但是使用CA的证书而不是自签名的证书?有人知道我可以使用API​​的CA吗?

回答

0

浏览器知道它所联系的IP是否属于给定的域?

它没有。通用名称验证机制是:证书中的名称必须与地址栏中的名称相匹配。

如果客户端通过名称连接到远程服务器,则响应中的证书必须在主题字段或主题备用名称证书扩展名中包含该名称。

如果客户端通过IP连接到远程服务器,则响应中的证书必须在主题字段或主题备用名称扩展名中包含该IP。

IP的问题是商业(公用信任)CA不会颁发证书给IP地址。只限于合格的域名。

+0

这使事情更清晰。所以我可能需要得到一个通配符证书,然后,为我们每个ips,添加一个子域到DNS。 –

相关问题