如何在 Heroku 上安装 SSL 证书

在本指南中,你将学习如何在 Heroku 上安装 SSL 证书。 如果您还没有申请证书,第一部分将向您展示如何在购买过程中为 Heroku 生成 CSR 代码。 我们还提供了一些关于在哪里为 Heroku 服务器购买 SSL 证书的实用技巧。

目录

  1. 在 Heroku 上生成 CSR
  2. 在 Heroku 上安装 SSL 证书
  3. 在哪里为 Heroku 购买 SSL 证书?

在 Heroku 上生成 CSR

CSR(证书签名请求)是您在 SSL 申请过程中必须提交给证书颁发机构的文本文件。 其中包含有关域名所有权和贵组织的必要信息。 如果 CSR 信息不正确或过期,CA 将不会签发您的证书。

由于无法直接在 Heroku 上生成 CSR 代码,您有两个备选方案。

您有两个选择:

  1. 您可以使用我们的CSR 生成器,它会根据您的信息自动创建 CSR 和私钥。
  2. 请按照我们的教程逐步操作,了解如何使用 Apache 和 Nginx 服务器中的内置工具 OpnSSL在 Heroku本地环境中生成 CSR

然后,用任何文本编辑器打开.csr文件,复制整个文本,包括 –BEGIN NEW CERTIFICATE REQUEST(开始新证书请求)和 –END NEW CERTIFICATE REQUEST(结束新证书请求)标记,并将其粘贴到 SSL Dragon 的 SSL 订单流程中。

现在,你必须等待 CA 验证并确认你的 SSL 请求。 根据证书类型的不同,整个过程可能需要几分钟到 7 个工作日不等。 收件箱中收到证书文件后,请继续执行安装步骤。

在 Heroku 上安装 SSL 证书

过去,要在 Heroku 上安装SSL证书,必须为自己的应用程序购买 SSLEndpoint附加组件,每月价值 20 美元。 今天,Heroku付费计划中新增了一项免费功能HerokuSSL,允许您管理自定义域的SSL/TLS加密。

SSL 端点仍可用于兼容传统客户端和浏览器。 下面是 Heroku SSL 和 SSL Endpoint 的安装说明。

步骤 1. 准备好所有 SSL 证书文件

证书颁发机构验证你的 SSL 申请后,你的收件箱中就会收到所有必要的文件。 要在 Heroku 上成功安装 SSL 证书,需要以下文件:

  • 主证书文件,扩展名通常为 .crt
  • CA 捆绑文件,包含根证书和中间证书
  • 私钥文件,与 CSR 一起在同一服务器上生成

步骤 2. 合并您的证书

请注意,对于 Heroku,您需要将主证书和 CA 捆绑包合并为一个文件。

您可以使用任何纯文本编辑器手动打开 .crt 和 .ca-bundle 文件,然后将 .ca-bundle 文件中的内容粘贴到 .crt.file 中内容的下方。确保代码之间没有空格。

您也可以通过命令行,使用以下命令合并文件:

cat yourcertificate.crt bundle.ca-bundle> server.crt

步骤 3. 安装证书

您可以通过控制面板或 CLI 在 HerokuSSL 上安装证书。 选择您喜欢的方法。

通过 Heroku 控制面板

  1. 打开证书
  2. 从列表中选择所需的应用程序,然后选择设置
  3. 向下滚动页面,在 “域和证书“部分点击 “配置 SSL
  4. 屏幕上将出现一个新窗口。 从显示的选项中选择 “手动“,然后单击 “继续
  5. 现在,您必须将合并证书和 CA 捆绑文件拖放到第一个框中,然后点击继续
  6. 在第二个框中,上传您的私人密钥文件
  7. Heroku 将提示您更新自定义域名/子域的 DNS 记录。

在此,您需要使用显示的值创建一个 CNAME 记录。

  • 主机值(”名称 “等)是您的域名/子域名
  • 目标值(”指向 “等)是 yourdomain/subdomain.herokudns.com。

例如: yourdomain.comCNAME yourdomain.com.herokudns.com 或www.yourdomain.comCNAMEwww.yourdomain.com.herokudns.com

配置好 DNS 后,请单击 “ 我已完成“,然后单击 “继续“。 请注意,DNS 全局更新可能需要一段时间。

恭喜您,您的域名已获得 SSL 证书。

通过 Heroku CLI

使用以下命令上传合并证书和 CA 捆绑文件以及私钥:

heroku certs:add server.crt server.key

如果没有默认的 Heroku 应用程序,也需要使用-app标志来指定。 命令如下

heroku certs:add server.crt server.key --app yourappname.

检查是否安装了正确的证书:

heroku certs:info

注意:如果在上传证书时收到 “内部服务器错误 “信息,原因可能是 Heroku CLI 版本过时。 要修复错误,您需要更新 CLI 版本。

步骤 4. 在 SSL 端点上安装 SSL 证书

  1. 首先,需要创建 SSL 端点。 在提示符下,在本地环境中运行以下命令:$ heroku addons:create ssl:endpoint
  2. 现在,你必须将 .crt 文件上传到应用程序的同一 SSL 目录中,然后将主证书与 CA 捆绑证书合并为一个文件。要合并证书文件,请使用下面的命令:$ cat example.crt bundle.crt> server.crt
  3. 下一步是通过以下命令将私钥和证书导入端点:$ cat example.crt bundle.crt> server.crt
  4. 输出结果将显示 SSL 证书的详细信息以及为 SSL 端点选择的主机名。
    为示例添加 SSL 端点... 已完成
    示例现在由 example-2121.herokussl.com 提供服务。
    证书详情:
    有效期至
    发行人:
    起点:


    注意:端点创建可能需要 30 分钟(极少数情况下可能需要 2 小时)。
  5. 端点准备就绪后,需要将受保护域的请求重新路由到 Heroku 端点主机名。 如果您尚未将域添加到应用程序中,请运行以下命令立即添加:$ heroku domains:add www.example.comAddingwww.example.com to example……………….done要将请求重新路由到端点主机名,请创建 CNAME 记录。 不要忘记将 “示例 “替换为相关信息
  • 记录类型– CNAME
  • 名称– www
  • 目标– example-2121.herokussl.com
    对于通配符证书,也要创建类似的记录:
  • 记录类型– CNAME
  • 名称– *
  • 目标– example-2121.herokussl.com

如果为根 (@) 域设置 CNAME 记录,它将覆盖为该域设置的所有其他记录。 要为子域创建 CNAME,您的证书必须涵盖子域(www.example.com、subdomain.example.com、*.example.com)。

只有当你的 DNS 提供商在区域顶点提供类似 CNAME 的功能时,你才能为一个空域(example.com)设置证书。

购买 SSL 证书时,请密切关注其规格。 有些证书不支持带 “www “和不带 “www “功能。

这就是 Heroku SSL 的安装过程。 在配置完成后,立即检查 SSL 证书是否存在潜在错误是值得的。 使用这些出色的SSL 工具来获取即时状态报告和漏洞警报。

在哪里为 Heroku 购买 SSL 证书?

在购买 SSL 证书时,你应该注意三个关键方面:验证类型、价格和完美的客户服务。 在 SSL Dragon,我们提供所有这些服务! 我们的 SSL 证书由知名证书颁发机构签署,因此与包括 Heroku 在内的大多数云平台兼容。 无论您需要廉价的域名验证证书还是高级的扩展验证产品,我们都能满足您的需求。

SSL Dragon 的价格是市场上最具竞争力的,而我们专业的支持团队也受到了现有客户的高度赞赏。 如果不知道选择哪种 SSL 证书,只需使用我们的SSL 向导证书筛选工具。 他们将帮助你找到适合你网站的理想 SSL 产品。

如果你发现任何不准确的地方,或者你对这些 SSL 安装说明有任何细节需要补充,请随时发送反馈到[email protected] 如果您能提供意见,我们将不胜感激! 谢谢。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.