2017-02-12 2 views
0

Ich weiß, dass diese Frage mehrmals gestellt wurde, aber ich brauche eine bestimmte Hilfe, da ich Ratschläge von mehreren anderen Threads genommen habe und nichts hat bis zu diesem Punkt funktioniert.certbot-auto: Client fehlt ausreichende Autorisierung

Ich versuche, mein SSL-Zertifikat in Ubuntu 14.04 mit certbot-auto renew zu erneuern, und ich betreibe einen Apache2-Server und Nginx. Ich erhalte die folgende Ausgabe für certbot-auto renew:

[email protected]:/# sudo certbot-auto renew 
    Saving debug log to /var/log/letsencrypt/letsencrypt.log 

    ------------------------------------------------------------------------------- 
    Processing /etc/letsencrypt/renewal/my-domain.com.conf 
    ------------------------------------------------------------------------------- 
    Cert is due for renewal, auto-renewing... 
    Renewing an existing certificate 
    Performing the following challenges: 
    http-01 challenge for my-domain.com 
    Waiting for verification... 
    Cleaning up challenges 
    Attempting to renew cert from /etc/letsencrypt/renewal/my-domain.com.conf produced an unexpected error: Failed authorization procedure. my-domain.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://my-domain.com/.well-known/acme-challenge/ailNmgZADpb4QBipKM57sOi9w3PwNkwBwVFiRYs7i40: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
    <html><head> 
    <title>404 Not Found</title> 
    </head><body> 
    <h1>Not Found</h1> 
    <p". Skipping. 

    All renewal attempts failed. The following certs could not be renewed: 
    /etc/letsencrypt/live/my-domain.com/fullchain.pem (failure) 
    1 renew failure(s), 0 parse failure(s) 

    IMPORTANT NOTES: 
    - The following errors were reported by the server: 

    Domain: my-domain.com 
    Type: unauthorized 
    Detail: Invalid response from 
    http://my-domain.com/.well-known/acme-challenge/ailNmgZADpb4QBipKM57sOi9w3PwNkwBwVFiRYs7i40: 
    "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
    <html><head> 
    <title>404 Not Found</title> 
    </head><body> 
    <h1>Not Found</h1> 
    <p" 

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

I gewährleistet die .well-known Ordner existiert in /var/www/my-domain.com/public_html und wenn ich zu http://my-domain.com/.well-known/ in meinem Browser navigieren, ich bin in der Lage, den Inhalt dieses Verzeichnisses zu sehen. Ich fügte auch einen acme-challenge Ordner in .well-known hinzu und enthielt eine test.txt Datei für das Testen; Ich konnte auf das Verzeichnis und die Textdatei in meinem Browser zugreifen.

Ich habe festgestellt, dass der Ordner acme-challenge nicht erstellt wurde, wenn ich den certbot-auto Befehl ausgeführt habe, so scheint es ein Problem mit Berechtigungen zu sein. Ich verwende certbot-auto als root, aber gab auch Schreibberechtigungen zu www-data Benutzer auf den Ordnern .well-known und acme-challenge (root und www-Daten Benutzer laufen die Apache2 und Nginx Prozesse).

Auch nach dem Erteilen dieser Schreibberechtigung bekomme ich immer noch den 404 Fehler, der oben beschrieben wurde.

Ich habe auch eine automatische Cert Erneuerung Prozess läuft über crontab und ich habe die Ausgabe in einer lokalen Datei protokolliert. In dieser Protokolldatei scheint die Erneuerungsanforderung ordnungsgemäß zu funktionieren, bis certbot-auto von 0.9.3 auf 0.10.1 aktualisiert wurde. Hier ist ein Beispiel aus der Protokolldatei, wenn die Aktualisierung stattfindet:

------------------------------------------------------------------------------- 
    Processing /etc/letsencrypt/renewal/offensively-bad.com.conf 
    ------------------------------------------------------------------------------- 

    The following certs are not due for renewal yet: 
    /etc/letsencrypt/live/offensively-bad.com/fullchain.pem (skipped) 
    No renewals were attempted. 

    ------------------------------------------------------------------------------- 
    Processing /etc/letsencrypt/renewal/offensively-bad.com.conf 
    ------------------------------------------------------------------------------- 

    The following certs are not due for renewal yet: 
    /etc/letsencrypt/live/offensively-bad.com/fullchain.pem (skipped) 
    No renewals were attempted. 
    Upgrading certbot-auto 0.9.3 to 0.10.1... 
    Replacing certbot-auto... 
    Creating virtual environment... 
    Installing Python packages... 
    Installation succeeded. 

    ------------------------------------------------------------------------------- 
    Processing /etc/letsencrypt/renewal/offensively-bad.com.conf 
    ------------------------------------------------------------------------------- 

    All renewal attempts failed. The following certs could not be renewed: 
    /etc/letsencrypt/live/offensively-bad.com/fullchain.pem (failure) 
    IMPORTANT NOTES: 
    - The following errors were reported by the server: 

    Domain: offensively-bad.com 
    Type: unauthorized 
    Detail: Invalid response from 
    http://offensively-bad.com/.well-known/acme-challenge/tkSc8l-r1XVPIF5TosTbEXiYMa8sQnoXEjAEgAwRoqI: 
    "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
    <html><head> 
    <title>404 Not Found</title> 
    </head><body> 
    <h1>Not Found</h1> 
    <p" 

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

Sie können sehen, dass nach dem Upgrade, das Verfahren mit einer 404 Nachricht begannen scheitern.

Ich habe alle Ratschläge versucht, die ich online finden konnte und bin völlig ratlos, so dass jede Hilfe sehr geschätzt würde. Danke im Voraus!

Antwort

1

ich diese conf-Datei zu bearbeiten hatte: /etc/letsencrypt/renewal/offensively-bad.com.conf und die folgende Zeile [[webroot_map]] ändern:

[[webroot_map]] 
offensively-bad.com = /path/to/what/certbot/thinks/is/the/correct/webroot/path/initially/specified/by/the/user 

In meinem Fall habe ich es zu

offensively-bad.com = /var/www/offensively-bad.com/public_html/ 

Dank dem Forum bei letsencrypt für die Unterstützung ich raus.

Verwandte Themen