我有 2 个 Web 服务器,A 和 B。A 是用户使用的网站,B 是服务器 A 使用的一组 Web 服务。因此,我想为服务器 B 启用 https。由于这里不应该有浏览器,我认为使用自签名证书就足够了。我成功地在服务器 B(通过 IIS)上创建了一个自签名证书并将其导出、复制到服务器 A,并将其添加到受信任的证书中。但是,在打开与服务器 B 的 https 连接时,我仍然收到浏览器警告。我怀疑问题是证书绑定到了计算机名称而不是 myservices.mydomain.com?
所以有两个问题
对仅为我的网站提供服务的服务器使用自签名证书可以吗?
如果是的话,我该如何生成它?
答案1
1)对于仅为我的网站提供服务的服务器,使用自签名证书可以吗?
如果这是一个面向公众的网站,所有用户都会收到警告,因为他们不信任你,你不在任何浏览器或系统的受信任证书存储中。如果你独自访问此网站,或者独自通过 HTTPS 访问该网站(其他所有人都通过 HTTP 访问),你可以通过将证书添加到本地存储来手动信任它。
2)如果是的话,我该如何生成它?
我不明白您想在这里生成什么,因为您已经有了证书。您有两种可能信任您自己的自签名证书。
首先,您可以添加每个应用程序的例外情况。收到警告后,您应该能够从现在起将证书标记为有效且受信任。请确保检查指纹,否则您可能信任了攻击者的证书。
其次,您可以通过将其添加到系统证书存储中来让它得到您的系统的信任。这里,通用名称 (CN)或任何主题备用名称 (SAN)与您用于访问网页的域名完全匹配。请勿在此处混合主机名、域名和 IP。