2016-06-04 13 views
0

I Letsencrypt erfolgreich verwendeten Zertifikate zu generieren und ich hochgeladen sie Heroku mit:Heroku SSL-Host funktioniert nicht (Heroku | No app)

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. 

Allerdings, wenn ich Besuch qwasf-34234.herokussl.com, es funktioniert nicht. Es hat eine Seite, auf der steht: Heroku | Keine solche App; Es ist keine App für diesen Hostnamen konfiguriert. Vielleicht hat der App-Besitzer sie umbenannt oder Sie haben die URL falsch eingegeben.

Ich bin Kopie und Einfügen der genaue neue Host, die Heroku gab mir. Gehen zu https://qwasf-34234.herokussl.com ergibt die gleiche Seite.

prüft ich das Zertifikat mit:

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 

Weitere Kontrollen:

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 

Was hier vor sich geht und wie kann das funktionieren? Ich möchte nur https für meine Website.

Antwort

0

Sie können die Domain qwasf-34234.herokussl.com, die Heroku Ihnen bietet, nicht aufrufen. Stattdessen sollten Sie Ihr DNS so ändern, dass es als CNAME anstelle von qwasf-34234.herokuapp.com angezeigt wird.

0

Sie können nicht direkt auf den Heroku SSL-Endpunkt zugreifen. Dieser Endpunkt stellt den Hostnamen dar, auf den Sie Ihre Domain verweisen müssen, wie in der DNS and domain configuration des Heroku-Artikels erläutert.

Wenn Sie eine Sub-Domain (zB www.this-site.com) verweisen soll, dann einen DNS-Eintrag CNAME in Ihrem DNS-Hosting-Provider erstellen, der den www Datensatz an den Heroku SSL-Endpunkt-Punkte:

www CNAME qwasf-34234.herokussl.com 

Wenn Sie auf die Stammdomäne (this-site.com) verweisen möchten, müssen Sie ein Angebot verwenden, das den CNAME-ähnlichen Datensatz für die Stammdomäne unterstützt, z. B. explained in this Heroku article als you can't use a CNAME for the root domain.

Stellen Sie sicher, dass Ihre Domain nicht immer noch auf den Hostnamen herokuapp.com verweist.

Sie können meine Behauptung testen, indem Sie eine cURL Anforderung an den SSL-Endpunkt zu senden, aber das Bestehen der Host Header (wie der Browser tun würde).

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