当我将它设置为来自另一个主机的网站的子域时,不保护子域 heroku 网站

Not secured subdomain heroku website when I set up it as subdomain of the website from another hosting

我在某些主机上有一个 http://example.com 网站,我希望 https://myapp.herokuapp.com 显示为 https://subdomain.example.com

我在 "example.com" 主机端配置:

CNAME myapp.herokuapp.com。

我已经添加到heroku domains:add --app myapp subdomain.example.com 所以现在我在调用 heroku domains -a myapp

时看到像 subdomain.example.com 这样的 CNAME

但是当我打开 https://subdomain.example.com 时,我看到不安全的连接并且证书是为 *.herokuapp.com 颁发的:

主题:

CN = *.herokuapp.com
O = Heroku, Inc.
L = San Francisco
S = California
C = US

替代主题:

DNS Name=*.herokuapp.com
DNS Name=herokuapp.com

那么如何让我的 heroku 子域为 https://subdomain.example.com 颁发证书?

还有一个问题

当我在 Chrome 中键入 http://subdomain.example.com 时,http://example.com 已加载。 当我在 Firefox 中键入 http://subdomain.example.com 时,http://subdomain.example.com 被加载并且在没有任何加密,虽然它不允许打开 http://myapp.herokuapp.com 并将其打开为 https://myapp.herokuapp.com

如何在 Firefox 中避免这种行为?尝试打开 http://subdomain.example.com 时我想要的行为是始终强制 https://subdomain.example.com而不是离开 http://subdomain.example.com 或重定向到 http: //示例.com

我得到了 Heroku 支持团队的答复:

感谢您联系我们。查看您的问题,我发现您的域配置不正确。

subdomain.example.com. 599    IN      CNAME   myapp.herokuapp.com

当您将域添加到您的应用程序时,Heroku 会为该域生成一个唯一的 DNS 目标。您需要在您的 DNS 提供商处将您的域指向此 DNS 目标。

=== myapp Custom Domains
Domain Name              DNS Record Type  DNS Target
───────────────────────  ───────────────  ──────────────────────────────────────────────────
subdomain.example.com.ru  CNAME            secure-lynx-1rbkrol1o46ccpklg1j5u2ac.herokudns.com

就您而言,我看到您已将子域 subdomain.example.com 添加到您的应用程序。您需要将您的子域指向 Heroku 生成的 DNS 目标 secure-lynx-1rbkrol1o46ccpklg1j5u2ac.herokudns.com 该域的 CNAME 记录类型(子域的 CNAME 和根域的 ALIAS/ANAME)在您的 DNS 提供商处。这应该可以解决您的问题。