Wie verhindert Nginx den Ablauf des SSL-Zertifikats?
nginx konfiguriert kostenlose SSL-Zertifikate und regelmäßige Zertifikatsaktualisierungen
Umgebungsinhalt 6, Zertifikatsausstellung Let's Encrypt
Voraussetzung für die Zertifikatsgenerierung ist dass der Domänenname verfügbar ist, das heißt, er wurde registriert und von DNS in eine bestimmte IP aufgelöst
1 Installieren Sie epel,
>yum install epel-release
2. Laden Sie das Certbot-Zertifikatsgenerierungstool herunter certbot-auto
>wget https://dl.eff.org/certbot-auto --no-check-certificate
3 , Abhängigkeiten von Installationstools
>chmod +x certbot-auto >./certbot-auto -n
4. Zertifikat generieren
Einzelner Domänenname:
>./certbot-auto certonly --email my@163.com --agree-tos --no-eff-email --webroot -w /usr/local/nginx/html/xue/ -d www.xue37.cn
Hinweis: E-Mail, Website ersetzen Verzeichnis und Domänenname
Mehrere Domänennamen:
>./certbot-auto certonly --email my@163.com --agree-tos --no-eff-email --webroot -w /usr/local/nginx/html/xue/ -d www.xue37.cn -d xue37.cn
Das Zertifikat wird im Verzeichnis /etc/letsencrypt/live/www.xue37.cn/ generiert (nach der Ausführung wird eine Eingabeaufforderung angezeigt den Befehl an der spezifischen generierten Adresse)
5. Zertifikatsverlängerung (da die Gültigkeitsdauer des Zertifikats 90 Tage beträgt)
Das certbot-auto-Tool unterstützt Zertifikatsverlängerungsvorgänge, sodass Sie dies tun können Verwenden Sie die geplante Crontab-Aufgabe, um das Zertifikat regelmäßig automatisch zu verlängern
>0 3 * * * /root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
Führen Sie die Zertifikatsverlängerung jeden Tag um 3 Uhr durch, und der Crontab-Ausdruck kann Baidu selbst sein
Hinweis:
Sie können es zuerst separat ausführen:
/root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
Ich werde hier aufgefordert. Die folgenden Zertifikate müssen noch nicht erneuert werden, was bedeutet, dass das Zertifikat nicht abgelaufen ist und keine anderen Fehler vorliegen. Um zu verhindern, dass das Zertifikat zu lange abläuft, können Sie daher den Erweiterungsvorgang jeden Tag festlegen
6. Zertifikatkonfiguration zu Nginx hinzufügen
server { listen 443 ssl; server_name www.xue37.cn; ##这里是你的域名 ssl_certificate /etc/letsencrypt/live/www.xue37.cn/fullchain.pem; #前面生成的证书,改一下里面的域名就行 ssl_certificate_key /etc/letsencrypt/live/www.xue37.cn/privkey.pem; #前面生成的密钥,改一下里面的域名就行 ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; access_log /data/application/logs/xue.access.log main; location ^~ /bot { proxy_pass http://xue-server; include proxy-params.conf; } location / { root html/xue; index index.html index.htm; } location = /50x.html { root html; } }
7. 80 Port 301 auf 443 setzen
Nginx-Konfiguration ändern:
server { listen 80; server_name localhost; location /.well-known/ { add_header Content-Type 'text/plain;'; root /usr/local/nginx/html/xue; } location / { return 301 https://www.xue37.cn$request_uri; } }
Hinweis: Nginx muss nach der Änderung neu gestartet werden: /usr/local/nginx/sbin/nginx -s reload
Hinweis: Nginx-Konfiguration muss verarbeitet werden
location ~ /\. { deny all; }
Löschen oder kommentieren Sie diese Konfiguration aus oder fügen Sie sie vor dieser Konfiguration hinzu (bitte ignorieren Sie sie, wenn keine solche Konfiguration vorhanden ist)
location ~ /.well-known { allow all; }
Weitere technische Artikel zu Nginx finden Sie unter Bitte besuchen Sie die Spalte Tutorial zur Nginx-Nutzungzum Lernen!
Das obige ist der detaillierte Inhalt vonSo verhindern Sie den Ablauf eines SSL-Zertifikats in Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!