web-dev-qa-db-fra.com

Heroku Automated Certificate Management a échoué avec un domaine

J'essaie d'obtenir la certification SSL de mon application avec Heroku, mais la gestion automatisée des certificats échoue pour l'un des deux noms de domaine.

J'ai créé le dyno avant mars 2017, j'ai donc dû exécuter heroku certs:auto:enable comme expliqué ici .

Ensuite, heroku domains renvoie:

Domain Name         DNS Record Type  DNS Target
───────────────     ───────────────  ─────────────────────────────
example.com         ALIAS or ANAME   example.com.herokudns.com
www.example.com     CNAME            www.example.com.herokudns.com

Cela semble être en ligne avec ce que heroku attend }.

Quoi qu'il en soit, heroku certs:auto renvoie:

Domain             Status
───────────────    ────────────
example.com        Failing
www.example.com    OK          

J'admets que je suis assez analphabète pour les paramètres concernant les domaines, DNS, etc. Par conséquent, cela pourrait être une erreur très simple de mon côté. Cependant, j'ai lu la documentation de dépannage Heroku ainsi que des questions similaires dans SO comme un celui-ci ou celui-ci et je n'ai toujours pas indice ce qui ne va pas.

Le fait que www.example.com soit correct mais que example.com échoue me perturbe encore plus. Et malheureusement, j'ai reçu un e-mail de notification sans raison de l'échec .

Namecheap

Je suppose que le problème concerne Heroku ou le lieu où j'ai acheté le domaine. C'est Namecheap.com.

Là, à l'onglet Domain, j'ai:

NAMESERVERS Namecheap BasicDNS

REDIRECT DOMAIN   Source URL     Destination
                  example.com    http://www.example.com

Et à l'onglet Advanced DNS:

Type                  Host    Value                               TTL
-------------         -----   -------------------------------     -------
CNAME Record          www     example.com.herokudns.com           Automatic
TXT Record            @       google-site-verification...         Automatic
URL Redirect Record   @       http://www.example.com/ Unmasked

Qu'est-ce que je fais mal?


Mettre à jour

Le problème semble être dû à Namecheap. J'ai trouvé le billet suivant sur Heroku:

Problème

L'utilisateur a des difficultés à pointer son domaine racine (alias apex Domaine/domaine nu) vers son application Heroku, soit en définissant les enregistrements DNS corrects , Soit en y accédant via HTTPS.

Résolution

Les domaines racines sur Heroku nécessitent l'utilisation d'enregistrements de type "CNAME", souvent Appelés enregistrements ALIAS ou ANAME.

Malheureusement, un certain nombre d’hôtes DNS populaires tels que GoDaddy, Namecheap, Bluehost et d’autres ne prennent pas en charge ces types d’enregistrements. Ils offrent plutôt les avantages suivants:

  • Un disque 

  • URL redirections/redirection

Il y a des réserves avec ces deux options ...

Étonnamment, je n'ai trouvé aucun endroit où toutes les étapes étaient expliquées clairement. Ce que j'ai fait jusqu'à présent c'est:

  1. Ouvrez un compte avec un hôte DNS qui prend en charge cela. J'ai pris DNSimple. Au moment de la rédaction, les prix commencent à 5 €/mois mais il y a un mois d'essai gratuit.
  2. Le transfert du domaine coûte 14 €/an, je me suis donc contenté de pointé les serveurs de noms de Namecheap vers DNSimple et ajouté le domaine à DNSimple pour créer les enregistrements DNS.
  3. Puis vint la configuration sur DNSimple. J'ai suivi l'étape 1 de la documentation pour redirection HTTP vers HTTP ; ignoré l'étape 2, car l'ACM de Heroku l'avait déjà fait; et pour l'étape 3, l'article Pointant l'apex du domaine vers Heroku était très utile. J'ai ajouté manuellement un ALIAS record et j'ai aussi ajouté un enregistrement CNAME, comme ceci:

    Type        Name                   Content
    ─────       ───────────────        ───────────────────────
    ALIAS       example.commyapp.com.herokudns.com
    CNAME       www.example.commyapp.com.herokudns.com
    

Au début, rien ne fonctionnait et le navigateur affichait l'erreur suivante:

Ce site est inaccessible

l’adresse IP du serveur de www.example.com n’a pas été trouvée.

Vérification de la documentation dépannage J'ai vu que la seule possibilité était le Name server propagation delay, alors j'ai attendu. C'était très long, mais il a fallu moins d'une heure pour que le site soit à nouveau en ligne.

Cependant, la certification SSL continue à échouer plus de 48 heures plus tard ...

6
J0ANMM

Pour référence future: après avoir contacté le support Heroku, ils ont actualisé manuellement ma demande de certificat et ont finalement été émis pour mon application ...

4
J0ANMM

Vérifiez la réponse ici en particulier la solution CloudFlare car elle est gratuite

La gestion automatisée des certificats vous fournit également un certificat SSL gratuit À partir de https partout. Vous n'avez pas besoin d'acheter un cert.

Toutefois, namecheap ne fonctionnera pas avec ACM car ils ne permettent pas un enregistrement "Alias" pour votre domaine "apex". votre domaine sans sous-domaine alors https://example.com not https://www.example.com

Vos options sont basculées sur un registraire DNS prenant en charge un enregistrement «alias» Tel que dnsimple. Ils facturent 5 $ par mois en plus des frais d'enregistrement de domaine .

Vous pouvez également utiliser une instance gratuite de cloudflare fournie avec SSL.

Si vous avez déjà acheté un certificat, il existe un moyen de le télécharger sur Heroku via Un addon SSL.

J'utilise à la fois DNSimple/Heroku ACM sur certaines applications et cloudflare sur certaines Autres. Les deux sont également agréables, mais cloudflare est gratuit et vous offre également un CDN.

https://www.reddit.com/r/Heroku/comments/7wh5r4/setting_up_ssl_with_heroku_namecheap/

1
Mohamed Saleh