• Applications
  • [Discussion] Certificat SSL signé et gratuit avec Let's Encrypt

BarbeRousse

en regardant le script mon provider n'est pas dans la liste... sniff

spider1163

j'ai bien créer l'enregistrement auprés de mon porvider mais j'obtient le message suivant::

 Failed authorization procedure. tld.fr (dns-01): urn:ietf:params:acme:error:unauthorized :: The client lacks 
 sufficient authorization :: Incorrect TXT record "I-----clef" found at _acme-challenge.lcrprod.fr
 IMPORTANT NOTES:
  - The following errors were reported by the server:
    Domain: tld.fr
   Type:   unauthorized
   Detail: Incorrect TXT record
   "I-----clef" found at
   _acme-challenge.tld.fr

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

mon provider est online.net.

La vérification TXT ne se fait pas correctement, la propagation DNS n'était peut-être pas terminé.
Tu peux toujours vérifier via dig -t txt _acme-challenge.example.com +short ou des outils en ligne.

Note : si tu demandes *.example.com ET example.com, tu as 2 enregistrements TXT de contrôle à mettre en place

    spider1163

    ok je comprends mieux la procédure.

    il faut donc lancer l'opération, lorsqu'il demande les enregistrements, il faut les créer, et ensuite attendre que cela se propage (mais cela doit prendre pas mal de temps) et ensuite finir l'opération du script.

    et bien je doigt avoir les dois crochus car j'ai toujours le meme erreur, meme avec juste le domaine tld.fr

    pfuiiii, il se mérite ce certificat wildcard....

    @spider1163 Du coup si on a deux enregistrements TXT (ndd.tld et **.ndd.tld) (<-- j'ai mis deux étoiles parce qu'une seule ne veut pas s'afficher 🙁) à faire ils sont cessé ressembler à quoi j'ai fais mon premier en tant que : acme-challenge.ndd.tld. avec la valeur indiquer par certbot mais pour le second j'ai un doute, quelque chose du style acme-challenge.*.ndd.tld. (<-- Je sais que c'est pas sa 😛) et je vais la chercher où la valeur ?

    Du coup j'ai fais la commande que tu as donner un peu plus haut avec mon ndd.tld et *.ndd.tld j'obtiens :

    Obtaining a new certificate
    Performing the following challenges:
    dns-01 challenge for ndd.tld
    dns-01 challenge for ndd.tld


    Please deploy a DNS TXT record under the name
    _acme-challenge.ndd.tld with the following value:

    valeur tadada ! 845+85sqkflmksdfDD4656 etc..

    Before continuing, verify the record is deployed.

    Press Enter to Continue

    Si tu regardes bien, cela concerne le même hôte : _acme-challenge.domain.tld
    Tu dois donc créer 2 enregistrements TXT sur cet hôte (de préférence avec le TTL le plus bas possible, 1 sinon 300 en général), possédant chacun une des valeurs fourni par certbot.

    Si tu ne peux pas créer 2 enregistrements TXT sur le même hôte, essaie de séparer les 2 valeurs par un espace, ça peut marcher.

    Le soucis c'est que certbot me fourni qu'une valeur, du coup j'en crée deux avec la même valeur ?
    Je suis chez ovh la TTL est de 60 mini 🙂

    Si tu as demandé ndd.tld et *.ndd.tld il doit te fournir 2 TXT (après avoir appuyé sur Entrer il me semble).
    Il faut que les 2 soient saisis et propagés avant de valider.

    Pourtant j'ai bien fait la commande :

    ./certbot-auto certonly --manual -d *.example.com -d example.com --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

    Avec mon domaine.tld et *.domaine.tld, le retour me donne bien deux ligne dns-01 challenge for domaine.tld (d'ailleurs deux fois la même ligne)

    Et me demande seulement un seul enregistrement, bon je vais essayer comme sa on verra bien 🙂


    Edit : En effet, j'avais pas osez appuyer sur suivant ne voyant pas les deux demande mais il faut faire le premier enregistrement et dans un second temps il remet un message demandant le second 👍


    Edit2 : Super sa fonctionne nickel ! Du coup maintenant pour le renouvellement j'ai vu qu'il y avait plusieurs manière, vous utilisez laquelle personnellement moi je pense sur un cron mais il faut que je regarde comment sa fonctionne et si je demande l’exécution du script tout les jours ou toute les semaine à une certaine heure etc...

    Tu fais bien de soulever ce point :
    Le souci du certificat wildcard c'est qu'il passe forcément par la vérification via DNS, et donc pour un renouvellement tu aura de nouveaux enregistrements TXT à re-faire à la main ...

    L'intérêt des certificats wildcards (même en dehors de Let's encrypt) sur un serveur de prod est limité (sécurité/gestion/compatibilité), et étant donné la facilité d'ajouter des sous-domaines en ligne de commande (avec vérification HTTP), je continuerai à procéder comme cela personnellement.

      Ah ! C'est bon à savoir sa ! Bon c'est pas sorcier à faire sa ce fera donc à la main 🙃

      spider1163 comme dit plus haut ( BarbeRousse ) tu peux utiliser acme.sh pour automatiser le renouvellement du wildcard.
      Ce script permet d'utiliser plusieurs api de nombreux providers. 😉

      Pour renouveler un certificat, j'ai remarqué que
      ./certbot-auto renew --pre-hook "service nginx stop" --post-hook "service nginx start"
      évite des downtime inutiles en n'arrêtant le serveur web qu'en cas de renouvellement de certificats

        2 mois plus tard

        Bonjour,
        Quand je veux faire un renouvellement de mon certifat avec:
        service nginx stop
        ./certbot-auto renew
        service nginx start
        Après "./certbot-auto renew" j'ai un message d'erreur (-bash: ./certbot-auto: Aucun fichier ou dossier de ce type)

        Je précise que je suis à la racine quand je lance la commande.

        C'est du à quoi ?
        Merci
        Arcenik

        fait ceci :

        service nginx stop

        apt-get update && apt-get upgrade

        cd /tmp
        wget https://dl.eff.org/certbot-auto
        chmod a+x ./certbot-auto
        ./certbot-auto --help all

        ./certbot-auto renew
        service nginx start

        J'ai un souci.

        Processing /etc/letsencrypt/renewal/myhost.me.conf

        Cert is due for renewal, auto-renewing...
        Plugins selected: Authenticator standalone, Installer None
        Renewing an existing certificate
        Performing the following challenges:
        tls-sni-01 challenge for myhost.me
        tls-sni-01 challenge for www.myhost.me
        Cleaning up challenges
        Attempting to renew cert (myhost.me) from /etc/letsencrypt/renewal/myhost.me.conf produced an unexpected error: Problem binding to port 443: Could no t bind to IPv4 or IPv6.. Skipping.
        All renewal attempts failed. The following certs could not be renewed:
        /etc/letsencrypt/live/myhost.me/fullchain.pem (failure)


        All renewal attempts failed. The following certs could not be renewed:

        /etc/letsencrypt/live/myhost.me/fullchain.pem (failure)

        1 renew failure(s), 0 parse failure(s)

        C'est un problème avec le port 443 si je comprends bien ?