ssl - 无法将 Heroku 连接到自定义 Google 域

标签 ssl heroku dns hosting google-domains

在 Heroku 中,我的 www.[somesite].com 域名显示“OK”的 ACM 状态。

我也在使用自动管理的 SSL。

在 Google Domains 上,我有一个指向 DNS 目标的 www 的 CNAME。

我还有一个合成记录转发 @ for .[somesite].com to https://www.[somesite].com,带有临时重定向、不转发路径和禁用 SSL。

如果我使用“启用 SSL”,我会收到一条错误消息:

The SSL Certificate for this domain hasn't been created yet.This process may take up to 24 hours to complete.

但是,该站点无法正常工作。我不知道为什么 Heroku 显示它确实如此,也不知道它给出的 ACM 状态为 OK。

几个小时以来,我一直在为这个问题苦苦思索,不知道该怎么做。有人有想法吗?

最佳答案

2021 年更新

以下指南将帮助您使用 SSL 设置网站并将您网站的所有版本转发到适当安全的网站 (https)。

  1. (Heroku) 在 Heroku 上部署站点(使用 CLI 或 Github 集成)

  2. (Heroku) 升级到“Hobby”Dyno(7 美元)。

  3. (Heroku) 通过转到设置 -> 配置 SSL 添加 SSL。选择“自动”。

  4. (Heroku) 通过单击“添加域”添加一个域(在 heroku.com 上)。 请务必在域名中使用 www。因此域名文本字段将为“www.example.com”。

  5. (Google Domains) 添加自定义资源记录

  • 姓名:www
  • 类型:CNAME
  • TTL:600
  • 数据:来自 Heroku 的 URL
    • 例如,behavior-apple-eh2cfqgjkiop23q1wvd4372b.herokudns.com。
  1. (Google Domains) 添加综合记录
  • 子域转发
  • 子域:@
  • 目标网址:https://www.example.com
  • 永久重定向 (301)
  • 前向路径
  • 启用 SSL
  1. (Google Domains) 如果您使用的域需要 DNSSEC(例如 .dev 域),请在 DNSSEC 部分启用 DNSSEC。

您将需要等待大约 15 分钟才能传播所有内容。在 15 分钟结束时,您将能够访问您网站的每个组合,它会重定向到 https://www.example.com


您在此过程中可能会遇到的一些错误如下:

ACM 问题

在 Heroku 上:

ACM is failing for 1 domain name

www.example.com Unable to resolve DNS for www.exampe.com

ACM error

解决方案:您看到此消息的原因是您的 CNAME 未在 Google Domains 上设置。完成上述步骤 (5) 以解决此问题。

加时赛

(在 Google Domains 上)“当我输入时,句点会不断添加到 URL 的“数据”部分的末尾。”

解决方案:这是预期的。


有用的图片

最终的 Heroku 页面

enter image description here

最终的 Google Domains 页面

enter image description here


资源

关于ssl - 无法将 Heroku 连接到自定义 Google 域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56861540/

相关文章:

php - 在 php 中生成证书请求

git - Heroku 推送失败

javascript - 在 Django/Heroku 网站的 javascript 中更改对象数据

javascript - jquery 上拒绝访问受限制的 uri,包括 - 与 www 子域一起正常工作

linux - Mininet Ping 问题

在 C 中创建自定义 DNS 名称服务器

c - 使用 C 和 Lua 中的套接字保存来自 http 响应的图像

Android DownloadManager SSL 证书验证

ruby - 使用 Sinatra 模块化样式为每个实例而不是每个请求创建一个变量

ssl - 关闭 ansible with_url 的 ssl 验证