Mise à jour du certificat

Bonjour,

Le certificat a expiré, j’ai chercher à le mettre à jour comme je l’avais fait la dernière fois en lancant la commande

« docker run --rm --name letsencrypt -v « /opt/fab-manager/log:/var/log/letsencrypt » -v « /opt/fab-manager/letsencrypt/etc:/etc/letsencrypt » -v « /opt/fab-manager/letsencrypt/config:/letsencrypt-config » Quay -c « /letsencrypt-config/webroot.ini » certonly »

Voilà la réponse

Redirect target too long

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. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you’re using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.

et ce que j’ai dans les logs de letsencrypt

2021-01-09 15:12:32,274:DEBUG:acme.client:Storing nonce: 0003-6w347BhfE41A3R-_IBS4196JNhwcnyYYUy2YwUII0I
2021-01-09 15:12:32,274:WARNING:certbot.auth_handler:Challenge failed for domain fablab.labhidouille.fr
2021-01-09 15:12:32,274:INFO:certbot.auth_handler:http-01 challenge for fablab.labhidouille.fr
2021-01-09 15:12:32,275:DEBUG:certbot.reporter:Reporting to user: The following errors were reported by the server:

Domain: fablab.labhidouille.fr
Type: connection
Detail: Fetching URL_WITH_PROTOCOL_HTTPS/.well-known/acme-challenge/URL_WITH_PROTOCOL_HTTPS/.well-known/acme-challenge/URL_WITH_PROTOCOL_HTTPS/.well-known/acme-challenge/URL_WITH_PROTOCOL_HTTPS/.well-known/acme$

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. Additionally, please check that your computer has $
2021-01-09 15:12:32,275:DEBUG:certbot.error_handler:Encountered exception:
Traceback (most recent call last):
File « /opt/certbot/src/certbot/auth_handler.py », line 90, in handle_authorizations
self._poll_authorizations(authzrs, max_retries, best_effort)
File « /opt/certbot/src/certbot/auth_handler.py », line 154, in _poll_authorizations
raise errors.AuthorizationError(‹ Some challenges have failed. ›)
AuthorizationError: Some challenges have failed.

2021-01-09 15:12:32,275:DEBUG:certbot.error_handler:Calling registered functions
2021-01-09 15:12:32,275:INFO:certbot.auth_handler:Cleaning up challenges
2021-01-09 15:12:32,275:DEBUG:certbot.plugins.webroot:Removing /etc/letsencrypt/webrootauth/.well-known/acme-challenge/W43H_NrdFXwJeGXvOErAxlekhbqLxqrFObCWSKHx41g
2021-01-09 15:12:32,275:DEBUG:certbot.plugins.webroot:All challenges cleaned up
2021-01-09 15:12:32,275:DEBUG:certbot.log:Exiting abnormally:
Traceback (most recent call last):
File « /opt/certbot/venv/bin/certbot », line 11, in
load_entry_point(‹ certbot ›, ‹ console_scripts ›, ‹ certbot ›)()
File « /opt/certbot/src/certbot/main.py », line 1379, in main
return config.func(config, plugins)
File « /opt/certbot/src/certbot/main.py », line 1262, in certonly
lineage = _get_and_save_cert(le_client, config, domains, certname, lineage)
File « /opt/certbot/src/certbot/main.py », line 115, in _get_and_save_cert
renewal.renew_cert(config, domains, le_client, lineage)
File « /opt/certbot/src/certbot/renewal.py », line 307, in renew_cert
new_cert, new_chain, new_key, _ = le_client.obtain_certificate(domains, new_key)
File « /opt/certbot/src/certbot/client.py », line 349, in obtain_certificate
orderr = self._get_order_and_authorizations(csr.data, self.config.allow_subset_of_names)
File « /opt/certbot/src/certbot/client.py », line 385, in _get_order_and_authorizations
authzr = self.auth_handler.handle_authorizations(orderr, best_effort)
File « /opt/certbot/src/certbot/auth_handler.py », line 90, in handle_authorizations
self._poll_authorizations(authzrs, max_retries, best_effort)
File « /opt/certbot/src/certbot/auth_handler.py », line 154, in _poll_authorizations
raise errors.AuthorizationError(‹ Some challenges have failed. ›)
AuthorizationError: Some challenges have failed.

Pourquoi alors que cela avait fonctionné la dernière fois est-ce en erreur ?

Existe-t-il un moyen de mettre à jour ce certificat automatiquement comme je le fais sur mes autres serveurs avec Certbot dans un cron.

Merci d’avance de votre réponse

Salut,
l’image quay.io/letsencrypt/letsencrypt:latest est obsolète, il faut désormais utiliser la commande suivante :

docker run --rm --name certbot -v "/opt/fab-manager/log:/var/log/letsencrypt" -v "/opt/fab-manager/letsencrypt/etc:/etc/letsencrypt" -v "/opt/fab-manager/letsencrypt/lib:/var/lib/letsencrypt" -v "/opt/fab-manager/letsencrypt/config:/etc/letsencrypt/config" certbot/certbot renew -c "/etc/letsencrypt/config/webroot.ini"

Bonjour Sylvain,

J’ai eu le même problème avec un certificat plus a jours.

J’ai démarré ta commande et j’ai eu ce message en retour :

usage:
certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] …

Certbot can obtain and install HTTPS/TLS/SSL certificates. By default,
it will attempt to use a webserver both for obtaining and installing the
certificate.
certbot: error: Unable to open config file: /etc/letsencrypt/config/webroot.ini. Error: No such file or directory

Je suis avec la version 5.1.6 actuellement.

Merci de votre aide

Salut @Mib,

Dans quel répertoire ton instance de Fab-manager est-elle installée ?
La commande que je donne correspond à la configuration de @Cat , à savoir un Fab-manager installé dans /opt/fab-manager, mais si tu as gardé le répertoire par défaut, ton FM doit être installé dans /apps/fabmanager, il te faut donc modifier la commande en conséquence :

docker run --rm --name certbot -v "/apps/fabmanager/log:/var/log/letsencrypt" -v "/apps/fabmanager/letsencrypt/etc:/etc/letsencrypt" -v "/apps/fabmanager/letsencrypt/lib:/var/lib/letsencrypt" -v "/apps/fabmanager/letsencrypt/config:/etc/letsencrypt/config" certbot/certbot renew -c "/etc/letsencrypt/config/webroot.ini"

Merci @Sylvain.

Quand, je lance ton script j’ai l’erreur suivante.

docker run --rm --name certbot -v "/apps/fabmanager/log:/var/log/letsencrypt" -v "/apps/fabmanager/letsencrypt/etc:/etc/letsencrypt" -v "/apps/fabmanager/letsencrypt/lib:/var/lib/letsencrypt" -v "/apps/fabmanager/letsencrypt/config:/etc/letsencrypt/config" certbot/certbot renew -c "/etc/letsencrypt/config/webroot.ini"

usage:
certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] …

Certbot can obtain and install HTTPS/TLS/SSL certificates. By default,
it will attempt to use a webserver both for obtaining and installing the
certificate.
certbot: error: Unable to open config file: /etc/letsencrypt/config/webroot.ini. Error: No such file or directory
Une idée du problème?

Tu as quelque chose dans /apps/fabmanager/letsencrypt/config ?

Bonjour Sylvain,

Non le dossier est vide.

Voilà déjà un problème :slight_smile:
Tu peux y créer un fichier webroot.ini et y mettre le contenu suivant (en remplaçant les xxx par tes infos) :

rsa-key-size = 4096
email = xxx@xxxxxx.com
text = True
agree-tos = True
renew-by-default = True
authenticator = webroot
domains = url.de.mon.fabmanager.xxxx
webroot-path = /etc/letsencrypt/webrootauth
non-interactive = True

C’est fait, mais rein ne se passe.

Faut-il lancer une commande pour générer le certificat ?

Oui : systemctl start letsencrypt.service

J’ai lancé la commande
systemctl start letsencrypt.servic, le message d’erreur est en fin de document.

Je ne comprends pas pourquoi le domaine est "
fabmanager.lescommuns.ch" en lieu et place de « fab-manager.lescommuns.ch »

root@fab-manager:/apps/fabmanager# systemctl status letsencrypt.service
● letsencrypt.service - letsencrypt cert update oneshot
Loaded: loaded (/etc/systemd/system/letsencrypt.service; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2021-11-04 22:39:21 CET; 17s ago
TriggeredBy: ● letsencrypt.timer

Process: 17240 ExecStart=/usr/bin/docker run --rm --name
certbot_fabmanager -v /apps/fabmanager/letsencrypt/etc:/etc/letsencrypt
certbot/certbot:latest -c /etc/letsencrypt/config/webroot.ini certonly
(code=exited, status=1/F>
Main PID: 17240 (code=exited, status=1/FAILURE)

Nov 04 22:39:21 fab-manager docker[17240]: Domain: fabmanager.lescommuns.ch
Nov 04 22:39:21 fab-manager docker[17240]: Type: dns
Nov
04 22:39:21 fab-manager docker[17240]: Detail: DNS problem: NXDOMAIN
looking up A for fabmanager.lescommuns.ch - check that a DNS record
exists for this domain
Nov 04 22:39:21 fab-manager docker[17240]:
Hint: The Certificate Authority failed to download the temporary
challenge files created by Certbot. Ensure that the listed domains serve
their content from the provided --webroot-path/>
Nov 04 22:39:21 fab-manager docker[17240]: Saving debug log to /var/log/letsencrypt/letsencrypt.log
Nov 04 22:39:21 fab-manager docker[17240]: Some challenges have failed.
Nov
04 22:39:21 fab-manager docker[17240]: Ask for help or search for
solutions at https://community.letsencrypt.org. See the logfile
/var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more
details.
Nov 04 22:39:21 fab-manager systemd[1]: letsencrypt.service: Main process exited, code=exited, status=1/FAILURE
Nov 04 22:39:21 fab-manager systemd[1]: letsencrypt.service: Failed with result ‹ exit-code ›.
Nov 04 22:39:21 fab-manager systemd[1]: Failed to start letsencrypt cert update oneshot.

C’est lie au nom de domaine que tu as configuré dans le fichier webroot.ini

Bonjour, j’ai le même problème.

docker run --rm --name certbot -v « /apps/fabmanager/log:/var/log/letsencrypt » -v « /apps/fabmanager/letsencrypt/etc:/etc/letsencrypt » -v « /apps/fabmanager/letsencrypt/lib:/var/lib/letsencrypt » -v « /apps/fabmanager/letsencrypt/config:/etc/letsencrypt/config » certbot/certbot renew -c « /etc/letsencrypt/config/webroot.ini »
usage:
certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] …

Certbot can obtain and install HTTPS/TLS/SSL certificates. By default,
it will attempt to use a webserver both for obtaining and installing the
certificate.
certbot: error: Unable to open config file: /etc/letsencrypt/config/webroot.ini. Error: No such file or directory

Une idée ou mauvaise commande ?

NB mon fichier webroot.ini existe et est rempli

Salut,

Si ton fichier /apps/fabmanager/letsencrypt/config/webroot.ini existe bien, alors le problème doit venir du paramètre -v "/apps/fabmanager/letsencrypt/config:/etc/letsencrypt/config" qui ne monte pas le bon répertoire sur le bon volume de du container, mais pourtant j’ai beau regarder ta commande je ne vois rien qui me paraisse incorrect :thinking:

À tout hasard, essaye un docker pull certbot/certbot mais sans trop y croire :worried:, sinon peut-être une histoire de droits sur tes dossiers ou ton fichier webroot.ini ?

En fait j’ai viré le "-c « /etc/letsencrypt/config/webroot.ini » et ça à fonctionné le certificat à bien été renouvellé.

1 « J'aime »