我正在为需要使用的系统设置网络服务器 仅有的 通过 HTTPS,在 内部网络 (无法从外界访问)

现在我用自签名证书设置了它,它工作正常,除了所有浏览器都会启动的令人讨厌的警告,因为用于签名的 CA 机构自然不可信。

访问由本地 DNS 服务器上解析的本地 DNS 域名提供(例如: https://myapp.local/),将该地址映射到 192.168.x.y

是否有某些提供商可以向我颁发用于内部域名(myapp.local)的正确证书?或者是我在真实域上使用 FQDN,然后将其映射到本地 IP 地址的唯一选择?

笔记:我想要一个不需要在每个浏览器上将服务器公钥标记为可信的选项,因为我无法控制工作站。

有帮助吗?

解决方案

我做了以下工作,对我很有帮助:

我为* .mydomain.com获得了通配符SSL证书(例如,Namecheap,提供这个便宜)

我创建了一个指向“mybox.mydomain.com”的CNAME DNS记录。在“mybox.local”。

我希望有所帮助 - 遗憾的是,您将为您的域名支付通配符证书,但您可能已经拥有该证书。

其他提示

您有两个实用的选择:

  1. 站起来自己的CA.您可以使用OpenSSL进行操作,并且有很多Google信息。

  2. 继续使用自签名证书,但在浏览器中将公钥添加到您信任的证书中。如果您位于Active Directory域中,则可以使用组策略自动完成此操作。

你必须向典型的认证人员询问这一点。不过,为了便于使用,我会使用 FQDN,您可以使用已注册的子域: https://mybox.example.com

此外,您可能还想查看通配符证书,为(例如)https://*.example.com/ 提供一揽子证书 - 甚至可用于虚拟托管,如果您需要的不仅仅是这个证书。

验证 FQDN 的子域或子子域 应该 成为标准业务 - 也许不适合那些以在短短 2 分钟内提供证书而自豪的点击式大佬。

简而言之:要使证书受到工作站的信任,您必须

  • 更改工作站上的设置(您不想要的)或
  • 使用已经受信任的一方来签署您的密钥(您正在寻找解决方法)。

那是 全部 你的选择。选择你的毒药。

我会将此作为评论添加,但它有点长..

这不是你问题的真正答案,但在实践中我发现不建议使用.local域名 - 即使它在你的“本地”域名上也是如此。测试环境,使用您自己的DNS服务器。

我知道Active Directory在安装DNS时默认使用.local名称,但即使是微软的人也说要避免使用。

如果您可以控制DNS服务器,则可以使用.com,.net或.org域名 - 即使它只是内部和私人域名。这样,您实际上可以购买您在内部使用的域名,然后购买该域名的证书并将其应用到您的本地域。

我认为答案是否定的。

开箱即用的浏览器不会信任证书,除非它最终由预先编程到浏览器中的人验证,例如, verisign,register.com。

您只能获得全球唯一域名的验证证书。

所以我建议您使用myapp.local.yourcompany.com代替myapp.local,如果您拥有yourcompany.com,您应该能够获得证书。它会花费你的心思,每年几百元。

也会被警告通配符证书可能只会降到一个级别 - 所以你可以将它用于a.yourcompany.com和local.yourcompany.com,但也许不是bayourcompany.com或myapp.local.yourcompany.com,除非你支付更多。

(有谁知道,它取决于通配符证书的类型吗?是主要浏览器信任的子子域吗?)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top