Heroku SSL 主机不工作(Heroku |没有这样的应用程序)



我成功地使用Letsencrypt 生成证书,并使用以下命令将它们上传到 Heroku:

this-site ********$ heroku addons:create ssl:endpoint
Creating ssl-graceful-41756... done, ($20.00/month)
Adding ssl-graceful-41756 to this-site... done
Next add your certificate with `heroku certs:add CERT KEY`.
Use `heroku addons:docs ssl` to view documentation.
this-site ********$ sudo heroku certs:add /etc/letsencrypt/live/www.this-site.com/fullchain.pem /etc/letsencrypt/live/www.this-site.com/privkey.pem
Resolving trust chain... done
Adding SSL Endpoint to this-site... done
this-site now served by qwasf-34234.herokussl.com
Certificate details:
Common Name(s): www.this-site.com
Expires At:     2016-09-02 19:15 UTC
Issuer:         /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
Starts At:      2016-06-04 19:15 UTC
Subject:        /CN=www.this-site.com
SSL certificate is verified by a root authority.

但是,当我访问 qwasf-34234.herokussl.com 时,它不起作用。 它有一个页面说:Heroku |没有这样的应用程序;没有在该主机名上配置任何应用。可能是应用所有者重命名了它,或者您输入了错误的 URL。

我正在复制并粘贴heroku给我的确切新主机。 转到 https://qwasf-34234.herokussl.com 将生成相同的页面。

我通过以下方式验证了证书:

this-site ********$ heroku certs
Endpoint                    Common Name(s)         Expires               Trusted
--------------------------  ---------------------  --------------------  -------
qwasf-34234.herokussl.com  www.this-site.com  2016-09-02 19:15 UTC  True

更多检查:

this-site *******$ curl -kvI https://www.this-site.com
* Rebuilt URL to: https://www.michaelsutyak.com/
*   Trying 23.21.142.230...
* Connected to www.this-site.com (23.21.142.230) port 443 (#0)
* TLS 1.2 connection using TLS_********************
* Server certificate: *.herokuapp.com
* Server certificate: DigiCert ******
* Server certificate: DigiCert *******
> HEAD / HTTP/1.1
> Host: www.this-site.com
> User-Agent: curl/7.43.0
> Accept: */*
> 
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Server: Cowboy
Server: Cowboy
< Connection: keep-alive
Connection: keep-alive
< Vary: Accept-Encoding
Vary: Accept-Encoding
< Content-Type: text/html; charset=utf-8
Content-Type: text/html; charset=utf-8
< Date: Sat, 04 Jun 2016 20:57:00 GMT
Date: Sat, 04 Jun 2016 20:57:00 GMT
< Via: 1.1 vegur
Via: 1.1 vegur
< 
* Connection #0 to host www.this-site.com left intact

这是怎么回事,这如何工作? 我只想要我的网站的https。

您无法直接访问 Heroku SSL 端点。该终端节点表示您需要将域指向的主机名,如 Heroku 文章的 DNS 和域配置中所述。

如果要指向子域(例如 www.this-site.com),请在 DNS 托管提供商中创建 DNS 记录别名记录,将www记录指向 Heroku SSL 端点:

www CNAME qwasf-34234.herokussl.com

如果要指向根域 (this-site.com),则需要使用支持根域的类似 CNAME 记录的提供,如这篇 Heroku 文章中所述,因为不能对根域使用 CNAME。

确保您的域未仍指向herokuapp.com主机名。

您可以通过向 SSL 端点发送cURL请求来测试我的断言,但传递 Host 标头(就像浏览器所做的那样)。

$ curl -i qwasf-34234.herokussl.com -H "Host: www.this-site.com"

您无法访问 Heroku 给您的qwasf-34234.herokussl.com域。相反,您应该更改DNS以将其指向CNAME,而不是qwasf-34234.herokuapp.com

相关内容

  • 没有找到相关文章

最新更新