我在某些主机上有一个http://example.com
网站,我希望https://myapp.herokuapp.com
显示为https://subdomain.example.com
我已经在"example.com"托管端配置:
别名 myapp.herokuapp.com。
我已添加到heroku domains:add --app myapp subdomain.example.com
所以现在我在调用heroku domains -a myapp
时看到 CNAME 就像 subdomain.example.com
但是当我打开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://example.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 添加到您的应用程序中。您需要将子域指向 DNS 提供商处具有 CNAME 记录类型(子域的 CNAME,根域的别名/ANAME(的该域的 Heroku 生成的 DNS 目标 secure-lynx-1rbkrol1o46ccpklg1j5u2ac.herokudns.com。这应该可以解决您的问题。