我在这里很困惑:
我使用 DNSMadeeasy管理我的 DNS。我有两个应用程序。
- 一个是 Heroku 托管的,并且在 https://example.com 上有 https - Heroku 有很多很棒的证书设置教程,这不是问题。
- 另一个是 wordpress,托管于 1and1 (尽管在这里无关紧要),并且可以通过 http://subdomain.example.com 访问我们希望它在 https://subdomain.example.com 可用
1and1 确实出售 SSL 证书,但正如他们所说,只有当有人也使用他们的 DNS 服务时,他们的自动设置才有效。他们的支持说应该是 DNSMadeEasy,它应该托管我们的 SSL 证书。我觉得这不是真的,因为对于 https://example.com , DNSMadeEasy 从未参与。
问题:
- 证书查询何时发生? 之前、之后,还是同时 DNS 解析?
- 谁在托管证书? DNS 提供商? 服务器(例如,可以像根目录下的 sitemap.xml 一样访问)? 第三方?
- 扩大个案,一般来说,如果我有一个固定IP的个人服务器,我如何使用有效证书通过https通信?
- 在我的例子中,我怎样才能摆脱它来制作 https://subdomain.example.com工作?
最佳答案
你不相信一对一的建议是对的。
回答您的问题:
- 证书查询何时发生?之前、之后或并行 DNS 解析?
客户端首先将域名解析为IP地址。所以 DNS 解析首先发生。
- 谁在托管证书?
服务器(简单来说)托管证书。
当客户端想要连接到您的站点(通过 HTTPS)时,它将首先在端口 443 上与该 IP 地址建立安全连接(这就是为什么通常(没有 SNI)每个 IP 地址只能拥有一个 SSL 证书的原因) .作为此过程(称为握手)的一部分,客户端还可以指定服务器名称(所谓的服务器名称扩展)——这是您站点的域名。如果您拥有对多个域有效的 SSL 证书,这将非常有用。
可以在此处找到它如何工作的一个很好/详细的解释 http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html
- 如果我有一个固定 IP 的个人服务器,我该如何通信 通过带有有效证书的 https?
您的服务器需要能够在端口 443 上响应,并拥有/托管解析为该 IP 地址的域的 SSL 证书。
- 就我而言,我怎样才能摆脱困境 https://subdomain.example.com工作?
您需要为 subdomain.example.com 购买证书并将其安装到 wordpress 服务器上。 通常在像您这样的托管解决方案中,您有 2 个选择:
通过提供商购买 SSL 证书(在您的情况下是 1 和 1)- 一个更简单的选择,他们将为您配置一切。
自己购买 SSL 证书。在这里您很可能需要登录到您的 1and1/Wordpress 管理界面并生成 CSR(本质上是证书请求)。然后您使用此 CSR 购买 SSL 证书,然后您可以通过相同的管理界面安装它。 该过程将类似于以下内容: http://wpengine.com/support/add-ssl-site/
关于SSL:证书托管在哪里?什么时候进行验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31382957/