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 上托管我的应用程序,他们的文档说:

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

这些似乎是冲突的。请指教!

4

2 回答 2

7

您需要从支持 Subject Alternate Name X.509 扩展的机构获得证书。

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

于 2013-08-23T15:16:48.473 回答
2

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

正如你在上面写的:

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

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

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

于 2013-08-23T15:14:11.237 回答