2

您好,我目前正在通过下面的教程将 ssl 添加到我的 heroku 应用程序

https://gist.github.com/shripadk/552554

所以今天我买了一个域名,设置cname指向我的heroku应用

目前我的域名正在运行。

我正在尝试将 ssl 安全功能添加到我的应用程序中,以便 secure.domainname.com 有效

按照教程

heroku addons:add custom_domains:basic

我有一个错误

add ons not found

我在heroku上也找不到这个插件。但是我通过stackoverflow搜索了这个命令并且它假设存在?

我用这个命令得到了同样的错误

heroku addons:add ssl:hostname

但它也说找不到添加,后来我在heroku上发现了同样的添加,但它使用了不同的命令。

这是我在教程中没有得到的部分

添加 ssl 后添加

这将在您的 Heroku 账单中增加 20 美元/月(截至撰写本文时)的 SSL 费用。VI:设置您的 DNS 以使用 Heroku 主机名 SSL

  1. 添加 ssl:hostname 插件后,您应该会在几分钟内收到来自 heroku 的电子邮件。您需要在您的 DNS 中添加一条 CNAME 记录,该记录指向您收到的电子邮件中的 AWS 主机。这应该很容易解释,但是如果您有任何问题,请在 Google 中搜索“添加 CNAME 记录”,您会看到很多很好的指南。

  2. 测试“host secure.yourdomain.com”输出“something.amazonaws.com”。如果是这样,你就准备好了。您现在应该可以访问“ https://secure.yourdomain.com ”并且看不到任何错误或安全警告。幕后发生的事情 当用户使用“ http://secure.yourdomain.com ”访问您的网站时,他们会访问您的 GoDaddy CNAME 记录,该记录指向有效路由的“something.amazonaws.com”地址向 Heroku 的网格发出请求,然后按照标准 SSL 握手过程从那里建立安全连接。

我没有收到电子邮件,appname.herokussl.com 也不存在吗?我想使用 Zerigo DNS 吗?对于任何事情,它在教程顶部提到过一次,但在其他任何地方都没有提到?

通过阅读评论,有人在结尾部分也遇到了问题。

谢谢!

4

1 回答 1

5

我对 heroku 和我自己的服务器设置都遵循了本教程,当我第一次尝试在 heroku 上设置时,我没有正确执行,所以我将解释在 heroku 上设置 ssl 时的一些重要步骤。

  1. 使用我们刚刚创建的主机密钥,使用 OpenSSL 生成新的自签名证书 ('host.csr')。这就是您将发送到 GoDaddy 以在之后为您的新 SSL 建模的内容。

在上述步骤中,请确保您正确填写信息,并确保您的公用名与您的 ssl 证书名称匹配。

2. Combine 'secure.yourdomain.com.crt' and 'host.key':

您将需要组合您的 ssl 密钥。如果您使用的是 godaddy,则有 2 个文件包括名称 gd_bundle.crt 和secure.yourdomain.com。在本教程中,您将生成大约 5-6 个文件,其中您将只使用 1 个。

  1. 从公钥证书中删除密码短语(Heroku 需要)

为了让 heroku 读取您的 ssl 证书,您需要删除证书上的所有密码,因此请确保已删除密码。将有两个文件,具体取决于您将它们与扩展名 .pem 和 .key 组合的方式(更新的文件不是您开始使用的文件)。

您很可能已经添加了域和子域,所以现在通过命令行运行

 heroku ssl:add ../ssl-cert/public.pem ../ssl-cert/private.key

记住获取新更新文件的路径。此外,在编辑文件和复制键时,请确保键之间没有空格。让我知道这是否有帮助。

于 2013-05-16T21:46:38.913 回答