renewal of letsencrypt cert #54

Closed
opened 2022-06-07 19:30:34 +00:00 by pheremans · 9 comments
Owner

j'ai essaye' un renew manuel (etant root sur la machine) apres q JF nous averti que letsencrypt envoye des emails...

certbot certonly -a webroot --webroot-path=/srv/www/aircox/ -d aircox.radiocampus.be              

j'ai de-commente'


    # enable for certbot ssl certificate verification
    location /.well-known {
        alias /srv/www/aircox/.well-known ;
    }

dans la config nginx (et par mon browser j'arrive bien a acceder cet url http://aircox.radiocampus.be/.well-known ,et certbot cree le acme-challenge)

mais q meme le renouvellement echoue...


apres cela - mettre ca dans un cronjob pour rafraichisement automatique...

j'ai essaye' un renew manuel (etant root sur la machine) apres q JF nous averti que letsencrypt envoye des emails... ``` certbot certonly -a webroot --webroot-path=/srv/www/aircox/ -d aircox.radiocampus.be ``` j'ai de-commente' ``` # enable for certbot ssl certificate verification location /.well-known { alias /srv/www/aircox/.well-known ; } ``` dans la config nginx (et par mon browser j'arrive bien a acceder cet url http://aircox.radiocampus.be/.well-known ,et certbot cree le acme-challenge) mais q meme le renouvellement echoue... ----- apres cela - mettre ca dans un cronjob pour rafraichisement automatique...
pheremans added the
gnuragistes
label 2022-06-07 19:30:34 +00:00
Author
Owner

uh

# systemctl stop nginx
# certbot renew --standalone  

marche pas non plus ... resulb bloque des requetes originant de chez letsencrypt ?

uh ``` # systemctl stop nginx # certbot renew --standalone ``` marche pas non plus ... resulb bloque des requetes originant de chez letsencrypt ?
Author
Owner

hm y a un service automatique pour certbot (/lib/systemd/system/certbot.service ) mais ...

# systemctl --failed 
  UNIT            LOAD   ACTIVE SUB    DESCRIPTION
● certbot.service loaded failed failed Certbot
hm y a un service automatique pour certbot (/lib/systemd/system/certbot.service ) mais ... ``` # systemctl --failed UNIT LOAD ACTIVE SUB DESCRIPTION ● certbot.service loaded failed failed Certbot ```
Author
Owner

first failure i find

# zcat /var/log/letsencrypt/letsencrypt.log.4.gz | less                                   

...

2022-05-13 07:13:14,982:WARNING:certbot.renewal:Attempting to renew cert (aircox.radiocampus.be) from /etc/letsencrypt/renewal/aircox.radiocampus.be.conf produced an unexpected error: Failed authorization procedure. aircox.radiocampus.be (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: 164.15.252.131: Fetching http://aircox.radiocampus.be/.well-known/acme-challenge/qEhA_6SxCBmqo86R9TezEKZed1_exr1uPmFIjWYsWv8: Timeout after connect (your server may be slow or overloaded). Skipping.

j'ai sauvegarde' c fichier dans /root/letsencrypt.log.4.gz

first failure i find ``` # zcat /var/log/letsencrypt/letsencrypt.log.4.gz | less ... 2022-05-13 07:13:14,982:WARNING:certbot.renewal:Attempting to renew cert (aircox.radiocampus.be) from /etc/letsencrypt/renewal/aircox.radiocampus.be.conf produced an unexpected error: Failed authorization procedure. aircox.radiocampus.be (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: 164.15.252.131: Fetching http://aircox.radiocampus.be/.well-known/acme-challenge/qEhA_6SxCBmqo86R9TezEKZed1_exr1uPmFIjWYsWv8: Timeout after connect (your server may be slow or overloaded). Skipping. ``` j'ai sauvegarde' c fichier dans /root/letsencrypt.log.4.gz
Author
Owner

j'essaye avec le acme-challenge par dns (gandi)

pip3 install certbot-plugin-gandi 
cat /etc/letsencrypt/gandi/gandi.ini
dns_gandi_api_key=APIKEY_IN_GOPASS

certbot certonly --authenticator dns-gandi --dns-gandi-credentials /etc/letsencrypt/gandi/gandi.ini -d aircox.radiocampus.be


#certbot est trop ancien me semble
# j fais un upgrade...

pip3 install --upgrade certbot

# eh boom - rien ne marche plus ...
#j reviens au certbot 0.31.0

pip3 install certbot==0.31.0

# AttributeError: module 'acme.challenges' has no attribute 'TLSSNI01Response'
# aargh
j'essaye avec le acme-challenge par dns (gandi) ``` pip3 install certbot-plugin-gandi cat /etc/letsencrypt/gandi/gandi.ini dns_gandi_api_key=APIKEY_IN_GOPASS certbot certonly --authenticator dns-gandi --dns-gandi-credentials /etc/letsencrypt/gandi/gandi.ini -d aircox.radiocampus.be #certbot est trop ancien me semble # j fais un upgrade... pip3 install --upgrade certbot # eh boom - rien ne marche plus ... #j reviens au certbot 0.31.0 pip3 install certbot==0.31.0 # AttributeError: module 'acme.challenges' has no attribute 'TLSSNI01Response' # aargh ```
Author
Owner

j'ai desinstalle' la version debian certbot et python3-certbot

et reinstalle par pip3

et yes - maintenant a marche' .. -- avec le authenticator par DNS

j'ai desinstalle' la version debian certbot et python3-certbot et reinstalle par pip3 et yes - maintenant a marche' .. -- avec le authenticator par DNS
Owner

J'avais regardé … à mon avis il fesait des renew « avant » … la seule chose qui a changé entre « avant » et maintenant, c'est le chown sur le dossier /srv/www/aircox. (voir sur le git de radiocampus). Mais je vois pas trop pourquoi cela poserait problème.

Entre temps, j'ai remarqué que certbot voulait atteindre en http (et pas https) … du coup j'ai un peu changé le fichier nginx de aircox pour que le .well-knonw/acme-challenge soit accessible.

Je sais téléchargé le fichier challenge depuis mon ordi avec wget … mais apparemment Let's Encrypt n'y arrive pas. Il dit que je « serveur ne répond pas ».

# rgrep M1fCl6CdiSMr3o9zjaUaTAkeBZO1D7J6MoXItMVh85g /var/log/nginx                                   ~ aircox 21:59 
/var/log/nginx/access.log.1:85.119.217.99 - - [07/Jun/2022:13:18:08 +0200] "GET /.well-known/acme-challenge/M1fCl6CdiSMr3o9zjaUaTAkeBZO1D7J6MoXItMVh85g HTTP/1.1" 404 169 "-" "Wget/1.21"
/var/log/nginx/error.log.1:2022/06/07 13:18:08 [error] 18848#18848: *5 open() "/usr/share/nginx/html/.well-known/acme-challenge/M1fCl6CdiSMr3o9zjaUaTAkeBZO1D7J6MoXItMVh85g" failed (2: No such file or directory), client: 85.119.217.99, server: aircox.radiocampus.be, request: "GET /.well-known/acme-challenge/M1fCl6CdiSMr3o9zjaUaTAkeBZO1D7J6MoXItMVh85g HTTP/1.1", host: "aircox.radiocampus.be"

Je m'était arrêté là … par manque de temps … et aussi d'idée.

J'avais regardé … à mon avis il fesait des renew « avant » … la seule chose qui a changé entre « avant » et maintenant, c'est le `chown` sur le dossier `/srv/www/aircox`. (voir sur le [git de radiocampus](https://git.radiocampus.be/rc/aircox/issues/34#issuecomment-203)). Mais je vois pas trop pourquoi cela poserait problème. Entre temps, j'ai remarqué que certbot voulait atteindre en http (et pas https) … du coup j'ai un peu changé le fichier nginx de aircox pour que le `.well-knonw/acme-challenge` soit accessible. Je sais téléchargé le fichier challenge depuis mon ordi avec wget … mais apparemment Let's Encrypt n'y arrive pas. Il dit que je « serveur ne répond pas ». ``` # rgrep M1fCl6CdiSMr3o9zjaUaTAkeBZO1D7J6MoXItMVh85g /var/log/nginx ~ aircox 21:59 /var/log/nginx/access.log.1:85.119.217.99 - - [07/Jun/2022:13:18:08 +0200] "GET /.well-known/acme-challenge/M1fCl6CdiSMr3o9zjaUaTAkeBZO1D7J6MoXItMVh85g HTTP/1.1" 404 169 "-" "Wget/1.21" /var/log/nginx/error.log.1:2022/06/07 13:18:08 [error] 18848#18848: *5 open() "/usr/share/nginx/html/.well-known/acme-challenge/M1fCl6CdiSMr3o9zjaUaTAkeBZO1D7J6MoXItMVh85g" failed (2: No such file or directory), client: 85.119.217.99, server: aircox.radiocampus.be, request: "GET /.well-known/acme-challenge/M1fCl6CdiSMr3o9zjaUaTAkeBZO1D7J6MoXItMVh85g HTTP/1.1", host: "aircox.radiocampus.be" ``` Je m'était arrêté là … par manque de temps … et aussi d'idée.
Author
Owner

du coup mntenant y a plus de certbot.service (faisait parti du package debian)

j fait un cronjob pour l'utilisateur root

# temps et jour dans la semaine aleatoire
14 16 3  * * 5  /usr/local/bin/certbot certonly --authenticator dns-gandi --dns-gandi-credentials /etc/letsencrypt/gandi/gandi.ini -d aircox.radiocampus.be
du coup mntenant y a plus de certbot.service (faisait parti du package debian) j fait un cronjob pour l'utilisateur root ``` # temps et jour dans la semaine aleatoire 14 16 3 * * 5 /usr/local/bin/certbot certonly --authenticator dns-gandi --dns-gandi-credentials /etc/letsencrypt/gandi/gandi.ini -d aircox.radiocampus.be ```
Owner

Si non, il y a l'option --stand-alone de certbot … mais il faut stoper nginx pour temporairement libérer le port 80 et le relancer après la certification.

Si non, il y a l'option `--stand-alone` de certbot … mais il faut stoper nginx pour temporairement libérer le port 80 et le relancer après la certification.
Owner

Pourtant il y avait déjà un /etc/cron.d/certbot :p

Pourtant il y avait déjà un `/etc/cron.d/certbot` :p
Sign in to join this conversation.
No description provided.