我正在为一个系统设置一个网络服务器,该系统需要在内部网络上无法通过HTTPS (无法访问外部世界)
现在我使用自签名证书进行了设置,并且它运行正常,除了所有浏览器启动的恶意警告,因为用于签名的CA权限自然不受信任。
访问由在本地DNS服务器上解析的本地DNS域名提供(例如:https://myapp.local/),将该地址映射到192.168.x.y
是否有某些提供商可以向我发出适用于内部域名(myapp.local)的证书?或者我唯一的选择是在真实域上使用FQDN,然后将其映射到本地IP地址?
注意:我想要一个选项,不需要在每个浏览器上将服务器公钥标记为受信任,因为我无法控制工作站。
答案 0 :(得分:27)
您有两个实用的选择:
站起来自己的CA.您可以使用OpenSSL进行操作,并且有很多Google信息。
继续使用自签名证书,但在浏览器中将公钥添加到您信任的证书中。如果您位于Active Directory域中,则可以使用组策略自动完成此操作。
答案 1 :(得分:12)
我做了以下工作,对我很有帮助:
我为* .mydomain.com获得了通配符SSL证书(例如,Namecheap,提供这个便宜)
我创建了一个CNAME DNS记录,指向" mybox.mydomain.com" at" mybox.local"。
我希望有所帮助 - 不幸的是,您将为您的域名支付通配符证书,但您可能已经拥有该证书。
答案 2 :(得分:5)
您必须向典型的证书人员询问。为了便于使用,我会使用FQDN,您可以使用已注册的子域名:https://mybox.example.com
此外,您可能希望查看通配符证书,为(例如)https://*.example.com/提供一揽子证书 - 如果您需要的不仅仅是这一个证书,甚至可用于虚拟主机。
认证FQDN 的子域或子域应该是标准业务 - 也许不是点和点击那些自豪地在2分钟内提供证书的大家伙。
简而言之:要使工作站信任您的证书,您必须
这是所有你的选择。选择你的毒药。
答案 3 :(得分:5)
我会将此作为评论添加,但它有点长..
这不是你问题的真正答案,但在实践中我发现不建议使用.local域 - 即使它在你的“本地”测试环境中,使用你自己的DNS服务器。
我知道Active Directory在安装DNS时默认使用.local名称,但即使是微软的人也说要避免使用。
如果您可以控制DNS服务器,则可以使用.com,.net或.org域名 - 即使它只是内部和私人域名。这样,您实际上可以购买您在内部使用的域名,然后购买该域名的证书并将其应用到您的本地域。
答案 4 :(得分:1)
我有类似的要求,要让我们公司的浏览器信任我们的内部网站。
我不希望我们的公共DNS为内部站点发布公共DNS,因此,我发现进行此工作的唯一方法是使用内部CA。
在这里写下来,
答案 5 :(得分:0)
我认为答案是否定的。
开箱即用的浏览器不会信任证书,除非它最终由预先编程到浏览器中的人验证,例如, verisign,register.com。您只能获得全球唯一域名的验证证书。
所以我建议您使用myapp.local.yourcompany.com代替myapp.local,如果您拥有yourcompany.com,您应该能够获得证书。它会花费你的心思,每年几百元。
也会被警告通配符证书可能只会降到一个级别 - 所以你可以将它用于a.yourcompany.com和local.yourcompany.com,但也许不是bayourcompany.com或myapp.local.yourcompany.com,除非你支付更多。
(有谁知道,它取决于通配符证书的类型吗?是主要浏览器信任的子子域吗?)