我正在使用 Heroku 来托管,它为我提供了一个不错的https:
地址:
https://some_random_string.herokuapp.com/
我使用 Namecheap 来设置我的 DNS,方法是:
CNAME Record | www | www.my_domain.herokudns.com.
heroku domains
我在 macOS bash 控制台中找到了这些信息。
www.my_domain | CNAME | www.my_domain.herokudns.com
s
当我使用自定义域时,除了 Heroku 地址丢失之外,一切正常。
答案1
有点奇怪的是,Heroku 会提供一个https://
地址但不允许您重定向到该地址。
您可以联系他们的客户支持并询问如何正确设置 CNAME,以便您可以使用他们已经为您创建的证书。
正在更改 ...
www.my_domain | CNAME | www.my_domain.herokudns.com
是解决此问题的关键。
答案2
根据 Heroku 开发中心应用程序的自定义域名TLS 主机名有不同的模式:
如果你使用SSL 端点,请注意您的 DNS 目标会略有不同。对于通用运行时中的应用,端点域名将采用 格式的名称
example-12345.ssl.herokudns.com
。
虽然每个应用都可以使用默认*.herokuapp.com
主机名在 HTTPS 上提供服务,但使用您自己的域名需要匹配的 TLS 证书。在应用程序中使用自己的证书的步骤在SSL 端点文档。简而言之:
生成私钥 &证书签名请求使用 OpenSSL 的 CSR:
openssl genrsa -des3 -out server.pass.key 2048 openssl rsa -in server.pass.key -out server.key openssl req -nodes -new -key server.key -out server.csr
使用 CSR 购买证书。
创建附加组件并添加您的证书:
heroku addons:create ssl:endpoint heroku certs:add server.crt server.key --type endpoint