我对 DNS 和 SSL 的了解还不够深入,我希望我想做的事情并非不可能!
情况如下:
- 我们有一个内部域和 DNS 服务器,我们称之为
inside-company.com
- 我们正在从自签名证书迁移,并购买了通配符 DV 证书
*.inside-company.com
——这都是面向内部的,因此 DV 就足够了 - 大多数用户依赖默认搜索域并在其 Web 浏览器中输入
application/
或https://application
,而不是 FQDN
据我所知,现在发生的情况是:
- 浏览器进行 DNS 查询并解析 IP
- 浏览器加载 IP 并进行 SSL 名称检查
- 浏览器抛出错误
net::ERR_CERT_COMMON_NAME_INVALID This server could not prove that it is application; its security certificate is from *.inside-company.com.
,我猜是因为它还没有用 FQDN 重写地址栏中的 URL(事实上,https://application/
此时地址栏仍然显示)
这里能做什么吗?重新教育用户使用 FQDN... 不是一个真正可行的选择。所有浏览器都会发生这种情况,我只是给出了 chrome 的错误措辞。
此外,我们获得通配符证书的原因是因为我们正在转换数百个自签名证书,为每个应用程序购买一个证书甚至为每个服务器购买一个证书的成本过高。
谢谢!
答案1
您需要一个以不带 FQDN 的服务器名称作为 SAN 的证书。这是在没有 FQDN 的情况下访问服务器时防止证书错误的唯一方法。
您可以通过创建自己的证书颁发机构 (CA) 轻松完成此操作。
可以使用 Easy RSA 等工具创建一个简单的 CA。创建 CA 证书后,您需要将 CA 证书部署到所有客户端。这是工作量最大的部分,但即使是这样也可以自动化(例如使用如果您使用 Windows 域,则使用组策略)。在每个客户端都安装并信任 CA 证书后,您可以使用该 CA 创建任何您想要的证书。
额外好处:当您购买的证书过期时,您无需购买新的证书。您可以创建自己的证书。