Open Source, Software, Uncategorized

Let’sEncrypt: Missing command line flag or config entry for this setting

June 11, 2019

Da ich bemerkt habe, dass sich eines meiner Zertifikate nicht selbst aktualisiert, bin ich vor kurzem beim manuellen aktualisieren meines Zertifikats auf folgendes Problem gestoßen.

Attempting to renew cert (monitoring.oprtr.org) from /etc/letsencrypt/renewal/monitoring.oprtr.org.conf produced an unexpected error: 
Missing command line flag or config entry for this setting:
Input the webroot for monitoring.oprtr.org:. Skipping.
The following certs could not be renewed:
  /etc/letsencrypt/live/monitoring.oprtr.org/fullchain.pem (failure)

Im Prinzip sagt die Meldung aus, dass das Webroot Verzeichnis für den Dienst hinter der Domain nicht richtig angegeben wurde. Im Normalfall ist dieses z.B. unter /var/www/html.

Etwas wunderte mich dies, da die Konfiguration, welche in der Fehlermeldung angezeigt wurde, automatisiert von Certbot erstellt wurde.
Sie sah in meinem Fall wie folgt aus:

# renew_before_expiry = 30 days
version = 0.31.0
archive_dir = /etc/letsencrypt/archive/monitoring.oprtr.org
cert = /etc/letsencrypt/live/monitoring.oprtr.org/cert.pem
privkey = /etc/letsencrypt/live/monitoring.oprtr.org/privkey.pem
chain = /etc/letsencrypt/live/monitoring.oprtr.org/chain.pem
fullchain = /etc/letsencrypt/live/monitoring.oprtr.org/fullchain.pem

# Options used in the renewal process
[renewalparams]
account = ###
server = https://acme-v02.api.letsencrypt.org/directory
authenticator = webroot
rsa_key_size = blub
webroot_path = /var/www/certbot
[[webroot_map]]

Auf den ersten Blick scheint es so, als sei “webroot_path” richtig angegeben. Anschließend schaute ich mir die Konfiguration einer anderen Domain an. Hierbei fiel mir auf, dass das Webroot Verzeichnis etwas anders definiert wurde.

Ich entfernte die Zeilen:

webroot_path = /var/www/certbot
[[webroot_map]]

Und ersetzte diese mit:

[[webroot_map]]
monitoring.oprtr.org = /var/www/certbot

Anschließend sah meine Konfiguration wie folgt aus:

# renew_before_expiry = 30 days
version = 0.31.0
archive_dir = /etc/letsencrypt/archive/monitoring.oprtr.org
cert = /etc/letsencrypt/live/monitoring.oprtr.org/cert.pem
privkey = /etc/letsencrypt/live/monitoring.oprtr.org/privkey.pem
chain = /etc/letsencrypt/live/monitoring.oprtr.org/chain.pem
fullchain = /etc/letsencrypt/live/monitoring.oprtr.org/fullchain.pem

# Options used in the renewal process
[renewalparams]
account = ####
server = https://acme-v02.api.letsencrypt.org/directory
authenticator = webroot
rsa_key_size = blub
[[webroot_map]]
monitoring.oprtr.org = /var/www/certbot

Nachdem ich meine Konfiguration wie erklärt angepasst habe, konnte ich das Zertifikat erfolgreich erneuern.

Quelle zum Vorschaubild: letsencrypt.org 
Autor:  Let’s Encrypt 
Lizenz:  Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0)

You Might Also Like

No Comments

Leave a Reply