【问题标题】:Generating a CSR for root domain (includes www or not?)为根域生成 CSR(是否包括 www?)
【发布时间】:2013-08-26 12:45:15
【问题描述】:

我是第一次尝试设置 SSL。我从 Gandi.net 购买了我的域名和 SSL 证书。他们的文档说

subdomain.example.com 表示您想要的子域 保护。这是最重要的部分。如果你有一个单一的地址 要激活的证书,您应该放入完整的子域(例如 foo.example.com)。 www子域由CA自动添加, 例如,example.com 将保护 example.com 和 www.example.com 如果你有通配符证书,你应该输入 * 子域(例如 *.example.com)。通配符证书也 保护原始域(没有子域)。 - http://wiki.gandi.net/en/ssl/csr

我在 Heroku 上托管我的应用程序,他们的文档说:

公用名字段必须与安全域匹配。 你不能 购买根域的证书,例如 example.com,以及 期望保护 www.example.com。 反之亦然。 此外,SSL 端点仅支持每个应用程序一个证书。 对于多域应用程序,请记住这一点,并指定一个 与所有必需域匹配的公共域。 - https://devcenter.heroku.com/articles/ssl-endpoint#acquire-ssl-certificate

这些似乎有冲突。请指教!

【问题讨论】:

  • 看起来我在 3 年后遇到了同样的问题。我的证书也是由 Gandi 颁发的,但仅适用于 example.com 而不适用于 www.example.com stackoverflow.com/questions/39767393/… 你是如何解决的?

标签: ssl heroku csr


【解决方案1】:

您需要从supports the Subject Alternate Name X.509 extension 的权威机构获得证书。

这将使您获得一个域,其 Common Name 设置为 www.mydomain.com,Alternate Name 设置为 mydomain.com(正如 Lloeki 所指出的,您应该提供 both 名称作为备用名称) .

【讨论】:

  • 当心,如果 CA 碰巧需要您为 CSR 提供​​ alt-names,一个常见的陷阱是忘记将 Common Name 添加为 Alternate Name进入!
  • @Lloeki 好点;谢谢。话虽如此,大多数 CA 只会重用 CSR 中的公钥,并且基本上会重写其他所有内容。
【解决方案2】:

这取决于您选择了哪个证书颁发机构 (CA) 来购买证书。 其中一些提供备用域名,包括“www”之类的选项,其中一些没有。

正如你在上面写的:

我在 Heroku 上托管我的应用程序,他们的文档说:

公用名字段必须与安全域匹配。你不能 购买根域的证书,例如 example.com,以及 希望保护 www.example.com。反之亦然。 此外,SSL 端点仅支持每个应用程序一个证书。 对于多域应用程序,请记住这一点并指定一个 与所有必需域匹配的公共域。 - https://devcenter.heroku.com/articles/ssl-endpoint#acquire-ssl-certificate

确实如此 - 因为 yourdomain.com 和 wwww.yourdomain.com 被视为不同的域(多域),并且必须信任您的证书才能识别它们。因此,在生成 CSR 字符串之前,请仔细阅读 CSR 字符串的要求和 CA 提供的功能。

【讨论】:

    猜你喜欢
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    相关资源
    最近更新 更多