So sichern Sie Nginx mit Let's Encrypt on Ubuntu und Debian
- 3063
- 566
- Tom Jakobs
Nach dem vorherigen Lassen Sie uns verschlüsseln Tutorial bezüglich Apache SSL, In diesem Artikel werden wir diskutieren, wie ein kostenloses SSL/TLS -Zertifikat generiert und installiert wird, das von ausgestellt wird Lassen Sie uns CA verschlüsseln für Nginx Webserver auf Ubuntu oder Debian.
Lesen Sie auch
- Sichern Sie Apache mit kostenlosem Verschlüsselung auf Ubuntu und Debian
- Installieren Sie lasst uns SSL verschlüsseln, um Apache auf RHEL und CentOS zu sichern
Probenumgebung testen
Installieren Sie es zu verschlüsseln, um Nginx auf Ubuntu und Debian zu sichernAnforderungen
- Eine registrierte Domain mit gültigem DNS
A
Aufzeichnungen, um auf die IP -Adresse Ihres Servers zurückzuführen. - Ein installierter NGINX -Webserver mit aktiviertem SSL und VHOST, falls Sie vorhaben, mehrere Domänen oder Subdomains zu hosten.
Schritt 1: Installieren von NGINX -Webserver
1. Installieren Sie beim ersten Schritt den NGINX -Webserver, falls bereits installiert, indem Sie den folgenden Befehl ausgeben:
$ sudo apt-get install nginxInstallieren Sie den NGINX -Webserver auf Ubuntu 14.04 und Debian 8
Schritt 2: Generieren Sie ein SSL -Zertifikat für Let's Encrypt für NGINX
2. Installieren Sie vor dem Generieren eines kostenlosen SSL/TLS -Zertifikats Lassen Sie uns verschlüsseln Software in /usr/local/
Dateisystemhierarchie mit Hilfe von Git Client durch Ausgabe der folgenden Befehle:
$ sudo apt -get -y install Git $ cd/usr/lokal/$ sudo git klone https: // github.com/letSencrypt/letSencrypt
3. Obwohl das Verfahren, ein Zertifikat für ein Zertifikat zu erhalten Nginx ist automatisiert. Sie können weiterhin ein kostenloses SSL -Zertifikat für NGINX mit Let's Encrypt Standalone Plugin erstellen und installieren.
Diese Methode erfordert diesen Port 80 Ich darf für einen kurzen Zeitraum nicht in Ihrem System verwendet werden, während der Client die Identität des Servers verschlüsseln, bevor das Zertifikat generiert wird.
Wenn Sie NGINX bereits ausführen, stoppen Sie den Dienst, indem Sie den folgenden Befehl ausgeben.
$ sudo service nginx stop oder $ sudo systemctl stop nginx
Falls Sie einen anderen Dienst ausführen, der am Port bindet 80 Stoppen Sie auch diesen Service.
4. Bestätigen Sie diesen Port 80 ist kostenlos durch Ausführen des Netstat -Befehls:
$ sudo netstat -tlpn | Grep 80Überprüfen Sie die aktuellen Höranschlüsse unter Linux
5. Jetzt ist es Zeit zu rennen letSencrypt
Um ein SSL -Zertifikat zu erhalten. Gehe zu Lassen Sie uns verschlüsseln Installationsverzeichnis gefunden in /usr/local/letSencrypt Systempfad und führen Sie die aus letSencrypt-auto Befehl durch Bereitstellung des Zertifikats --eigenständige
Option und -D
Flag für jede Domain oder Subdomain, die Sie ein Zertifikat generieren möchten.
$ cd/usr/local/letSencrypt $ sudo ./letSencrypt -auto certonly -standalone -d your_domain.tldHolen Sie sich das SSL -Zertifikat von Let's Encrypt
6. Geben Sie die E -Mail -Adresse ein, die von Let's Encrypt für verlorene Schlüsselwiederherstellung oder dringende Hinweise verwendet wird.
E-Mail Adresse eingeben7. Stimmen Sie den Bedingungen der Lizenz durch, indem Sie die Eingabetaste drücken.
Akzeptieren Sie die LetSencrypt -Vereinbarung8. Wenn alles erfolgreich wurde, sollte eine Nachricht ähnlich dem folgenden Screenshot auf Ihrer Terminalkonsole angezeigt werden.
Die Installation von LetSencryptSchritt 3: Installieren Sie das SSL -Zertifikat in nginx ein
9. Jetzt, da Ihr SSL -Zertifikat generiert wurde. Die neu SSL -Zertifikate werden in platziert /etc/letSencrypt/live/
Unter einem nach Ihrem Domainnamen benannten Verzeichnis. Führen Sie den Befehl LS aus, um die für Ihre Domain ausgegebenen Zertifikatdateien aufzulisten.
$ sudo ls/etc/letsencrypt/live/$ sudo ls -al/etc/letsencrypt/live/caeszar.tkLetSencrypt SSL -Zertifikate
10. Als nächstes offen /etc/nginx/sites-verfügbare/standardmäßig
Datei mit einem Texteditor und fügen Sie den folgenden Block nach der ersten Kommentarzeile hinzu, die den Beginn des SSL -Blocks angibt. Verwenden Sie den folgenden Screenshot als Anleitung.
$ sudo nano/etc/nginx/sites-fähig/Standard
Nginx Blockauszug:
# SSL -Konfiguration # Hören 443 SSL default_server; SSL_Certificate/etc/letSencrypt/live/caeszar.TK/Fullchain.Pem; ssl_certificate_key/etc/letsencrypt/live/caeszar.tk/privkey.Pem; SSL_PROTOCOLS TLSV1 TLSV1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; ssl_dhparam/etc/nginx/ssl/dhparams.Pem;Konfigurieren Sie Nginx, um Let's Encrypt SSL zu verwenden
Ersetzen Sie die Domänennamenwerte für SSL -Zertifikate entsprechend.
11. Im nächsten Schritt erzeugen eine starke Diffie-Hellman Chiffre in /etc/nginx/ssl/ Verzeichnis, um Ihren Server vor dem zu schützen Logjam Angriff durch Ausführen der folgenden Befehle.
$ sudo mkdir/etc/nginx/ssl $ cd/etc/nginx/ssl $ sudo openssl dhparam -out dhparams.PEM 2048Generieren Sie Diffie Hellman Cipher für Nginx
12. Schließlich starten Sie den Nginx -Daemon neu, um Änderungen widerzuspiegeln.
$ sudo systemctl starten nginx neu
und testen Sie Ihr SSL -Zertifikat, indem Sie die folgende URL besuchen.
https: // www.SSlllabs.com/ssltest/analysieren.htmlÜberprüfen Sie Nginx, das das SSL -Zertifikat verschlüsseln kann
Schritt 4: Auto Renew Recrypt Nginx -Zertifikate
13. Zertifikate ausgestellt von Lassen Sie uns CA verschlüsseln sind 90 Tage gültig. Um die Dateien vor dem Ablaufdatum automatisch zu erneuern, um automatisch zu erneuern ssl-renew.Sch
Drehbuch in /usr/local/bin/
Verzeichnis mit dem folgenden Inhalt.
$ sudo nano/usr/local/bin/ssl-renew.Sch
Fügen Sie den folgenden Inhalt hinzu zu ssl-renew.Sch
Datei.
#!/bin/bash cd/usr/local/letSencrypt sudo ./letSencrypt-auto certonly -a webroot-agree-tos-renew-by-Default-Webroot-path =/var/www/html/-d your_domain.tld sudo systemctl Reload nginx exit 0Auto Renew Nginx lässt das SSL -Zertifikat verschlüsseln
Ersetze das --Webroot-Pfad
Variable, die mit Ihrem Nginx -Dokumentstamm entspricht. Stellen Sie sicher, dass das Skript ausführbar ist, indem Sie den folgenden Befehl ausgeben.
$ sudo chmod +x/usr/local/bin/ssl-renew.Sch
14. Fügen Sie schließlich einen Cron -Job hinzu, um das Skript alle zwei Monate um Mitternacht auszuführen, um sicherzustellen.
$ sudo crontab -e
Fügen Sie die folgende Zeile am Ende der Datei hinzu.
0 1 1 */2 */usr/local/bin/ssl-renew.SH >>/var/log/your_domain.tld-renew.Protokoll 2> & 1Durch Update können SSL -Zertifikate verschlüsseln
Das ist es! Ihr Nginx -Server serviert jetzt SSL -Inhalte mit einem kostenlosen Lassen Sie uns SSL verschlüsseln Zertifikat.
- « So installieren Sie NTP Server und Client auf Ubuntu
- So installieren Sie OpenSSH 8.0 Server aus der Quelle unter Linux »