Ich verwende Let's Encrypt auf einer Website. Let's Encrypt muss alle 3 Monate erneuert werden und das Zertifikat kann ab 1 Monat im Voraus erneuert werden.
Es ist ziemlich mühsam, es jedes Mal manuell zu machen, deshalb habe ich beschlossen, mit cron stapelweise zu verarbeiten und SSL automatisch zu aktualisieren. Wenn es ausgeführt wird, wird das Ergebnis per E-Mail zurückgegeben.
Zu einem bestimmten Zeitpunkt war der Betreff des Update-Fehlers in der E-Mail ...
Faild renew letsencript SSL cert
Derzeit war die Website in Ordnung, aber nach dem Update-Zeitraum,
** Nicht vertrauenswürdige Seite **
Wird angezeigt, damit wir uns sofort darum kümmern.
Ich werde versuchen, es vorerst manuell auszuführen.
certbot renew --dry-run
Die folgenden Ergebnisse ...
Cahllenge failed for domain *****.jp
Challenge failed for domain www.*****.jp
Attempting to renew cert (www.*****.jp) from /etc/letsencrypt/renewal/www.*****.jp produced an unexpected error: Some challenges have failed.. Skipping.
All renewal attempts failed. The following certs could not be renewed:
Wie auch immer, so wird es in einer Reihe über Dinge geschrieben, die fehlgeschlagen sind.
Bemerkenswert ist weiter unten.
Domain: ******.jp
Type: unauthorized
Detail: Invalid response from
https://******.jp/.well-known/acme-challenge/xZtOg19utX8Mch7n3hgYJNeNk4GM2PBw6LVqFgzs9pI
[153.***.***.***]: "<!DOCTYPE html>\n<html lang=\"ja\"
ng-app=\"NetCommonsApp\">\n<head>\n\t<meta
charset=\"utf-8\">\n\t<meta http-equiv=\"X-UA-Compatible\" conte"
** Es hat nicht funktioniert, als ich hier zugegriffen habe ~ ** Es sagt so etwas.
https://******.jp/.well-known/acme-challenge/xZtOg19utX8Mch7n3hgYJNeNk4GM2PBw6LVqFgzs9pI
↑ Ihre Domain + URL wie ".well-bekannte / acme-Herausforderung".
Es scheint, dass das SSL-Zertifikat hier platziert ist, aber es ist fehlgeschlagen, weil nicht darauf zugegriffen werden kann.
Dieses Mal erstellen wir eine Website mit Apache + CakePHP2. Das Stammverzeichnis sieht folgendermaßen aus: Die Apache-Seite verweist auch auf den folgenden Pfad.
/var/www/html/cakephp
Einmal in das Stammverzeichnis
cd /var/www/html/cakephp
Da es sich um das Stammverzeichnis handelt, ist es normal, hier darauf zuzugreifen. CakePHP leitet auch von hier aus weiter.
Die Datei macht es
.htaccess
Wird sein.
Der Inhalt ist so.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
Ich leite weiter zu ** app / webroot ** in CakePHP um.
Da es in webroot jedoch kein bekanntes Verzeichnis gibt, Wenn auf die URL "https: //*****.jp/well-known" zugegriffen wird, leiten Sie sie nicht weiter.
Fügen Sie die folgende Anweisung hinzu
RewriteRule ^\.well-known(.*)$ .well-known$1 [L]
↓
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^\.well-known(.*)$ .well-known$1 [L]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
Wenn Sie jetzt auf bekannte zugreifen, werden Sie nicht umgeleitet!
Führen Sie den folgenden Befehl aus
certbot renew --dry-run
Ich habe vergessen, ein Erfolgsprotokoll zu führen. ..
Das Wort ** fehlgeschlagen ** erscheint nicht, Das Wort ** erfolgreich ** erscheint,
Ich denke, es ist okay, wenn Sie bestätigen können.
Wenn erfolgreich, entfernen Sie "--dry-run" und führen Sie es erneut aus.
certbot renew
Das Zertifikat wurde erfolgreich erneuert.
das Ende.