So installieren Sie das SSL -Zertifikat, um Nginx auf RHEL 9/8 zu sichern
- 1048
- 76
- Matteo Möllinger
In diesem Artikel führen wir Sie dazu, wie Sie ein SSL/TLS -Zertifikat erstellen und installieren, das kostenlos von Lassen Sie uns die Zertifikatsbehörde verschlüsseln Damit wir verwenden werden, um Nginx-Webserver-HTTP-Transaktionen zu RHEL- und RHEL-basierten Verteilungen wie zu sichern Fedora, Rocky Linux Und Almalinux.
Wenn Sie installieren möchten Lassen Sie uns verschlüsseln Für Apache über RHEL- und RHEL-basierte Verteilungen folgen Sie folgenden Anleitung unten:
[Möglicherweise mögen Sie es auch: So installieren Sie das SSL -Zertifikat, um Apache auf Rhel -Systemen zu sichern.]
Anforderungen
- Ein registrierter Domain -Name mit gültig
A
DNS -Aufzeichnungen, um auf die öffentliche IP -Adresse der Server zurückzusetzen. - NGINX -Webserver mit aktivierter SSL und virtueller Hosts installiert (nur für mehrere Domänen oder Subdomains -Hosting).
Unser Testumfeld -Setup
Setup HTTPS mit Lets Encrypt, um Nginx auf RHEL zu sichernSchritt 1: Installieren Sie den NGINX -Webserver in RHEL -Systemen
1. Im ersten Schritt, falls Sie es nicht haben Nginx Dämon bereits installiert, geben Sie die folgenden Befehle mit Root -Berechtigungen aus, um Nginx -Webserver aus Epel -Repositories zu installieren.
------------- Auf Rhel, Rocky & Almalinux 9 ------------- # DNF Installieren Sie https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-9.Keinarch.Drehzahl ------------- Auf Rhel, Rocky & Almalinux 8 ------------- # DNF Installieren Sie https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Keinarch.Drehzahl ------------- Installieren Sie den NGINX -Webserver ------------- # yum install nginx installieren
Notiz: Fedora -Benutzer müssen das Epel -Repository nicht installieren.
Schritt 2: Installieren Sie Let's Encrypt (certbot) in Rhel -Systemen
2. Die schnellste Methode zur Installation des Let's Encrypt -Clients auf Linux -Systemen ist die Installation certbot Und Python3-CertBot-Nginx Pakete aus dem Epel -Repository.
# DNF Install Certbot Python3-CertBot-NginxInstallieren Sie Certbot für NGINX auf RHEL -Systemen
3. Nach dem certbot Der Client wurde installiert. Überprüfen Sie die installierte Version von LECS Encrypt -Software, indem Sie den folgenden Befehl ausführen:
# certbot --version certbot 1.30.0
Schritt 3: Erhalten Sie ein kostenloses, lasst uns das SSL -Zertifikat für NGINX verschlüsseln
4. Der Prozess der Erlangung eines freien Erhalts SSL/TLS -Zertifikat für Nginx wird manuell durch die Verwendung erfolgen Lassen Sie uns Standalone verschlüsseln Plugin.
Diese Methode erfordert diesen Port 80 muss während der Zeit frei sein Lassen Sie uns verschlüsseln Der Client validiert die Identität des Servers und generiert Zertifikate.
Wenn Nginx bereits ausgeführt wird, stoppen Sie den Daemon mit dem folgenden Befehl und führen Sie das SS -Dienstprogramm aus, um zu bestätigen, dass Port 80 im Netzwerkstapel nicht mehr verwendet wird.
# service nginx stop # systemctl stop nginx # ss -tlnÜberprüfen Sie die Hörnetzwerkports-
5. Jetzt ist es Zeit, ein kostenloses SSL -Zertifikat von zu erhalten Lassen Sie uns verschlüsseln durch Ausführen der certbot Befehl mit --nginx
So initialisieren Sie das Abrufen und Konfiguration von LECTs Encrypt -Sicherheitszertifikat für Nginx -Domänen.
# certbot -nginx oder # certbot -nginx -d Beispiel.com -d www.Beispiel.comInstallieren können Zertifikate für Nginx -Domänen verschlüsseln
6. Wenn alles so lief, wie es sollte, wird in Ihrem Bash -Terminal eine gratulatorische Info -Nachricht angezeigt. Die Nachricht wird auch angezeigt, wenn das Zertifikat abläuft.
Die Installation von LetSencryptSchritt 4: Installieren Sie das SSL -Zertifikat in Nginx ein
9. Jetzt, wo Sie eine kostenlose besitzen SSL/TLS -Zertifikat, Es ist Zeit, es in Nginx Webserver zu installieren, damit Ihre Domain sie verwendet.
Alle neuen SSL -Zertifikate werden in platziert /etc/letSencrypt/live/
Unter einem nach Ihrem Domainnamen benannten Verzeichnis. Verwenden Sie den Befehl LS, um die für Ihre Domain ausgegebenen Zertifikatdateien aufzulisten und zu identifizieren, und identifizieren Sie diese.
# sudo ls/etc/letSencrypt/live/ # sudo ls -al/etc/letsencrypt/live/your_domain.tldLetSencrypt SSL -Zertifikate
10. So installieren Sie die Zertifikatdateien in Nginx und aktivieren Sie SSL, öffnen Sie SSL /etc/nginx/nginx.Conf
Datei zum Bearbeiten und Hinzufügen der folgenden Anweisungen nach der letzten Listenzeile aus dem Serverblock. Verwenden Sie die folgende Abbildung als Anleitung.
# vi/etc/nginx/nginx.Conf
Nginx SSL -Blockauszug:
# SSL -Konfiguration Hören Sie 443 SSL default_server; SSL_Certificate/etc/letSencrypt/live/your_domain.TLD/Fullchain.Pem; ssl_certificate_key/etc/letsencrypt/live/your_domain.tld/privkey.Pem; SSL_PROTOCOLS TLSV1 TLSV1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH';Aktivieren Sie HTTPS in der NGINX -Konfiguration
Ersetze das Domain -Name Zeichenfolge für SSL -Zertifikate, die Ihrer eigenen Domain entsprechen,.
11. Schließlich starten Sie neu Nginx Service und besuchen Sie Ihre Domain über das HTTPS -Protokoll unter https: // Ihre Domain
. Die Seite sollte reibungslos geladen werden, ohne Zertifikatfehler.
# SystemCTL Neustart Nginx # Service Nginx Neustart
12. Um die zu überprüfen SSL/TLS Zertifikat und seine Geradheit besuchen den folgenden Link:
https: // www.SSlllabs.com/ssltest/analysieren.htmlÜberprüfen Überprüfen Sie das HTTPS -SSL -Zertifikat auf der Domäne
13. Falls Sie eine Benachrichtigung erhalten, dass Ihr Server eine schwache unterstützt Dh Schlüsselaustausch und eine Gesamtbewertung von B Note, eine neue erzeugen Diffie-Hellman Chiffre in /etc/nginx/ssl/ Verzeichnis zum Schutz Ihres Servers vor dem Logjam Angriff durch Ausführen der folgenden Befehle.
# mkdir/etc/nginx/ssl # cd/etc/nginx/ssl # opensensl dhparam -out dhparams.PEM 4096
In diesem Beispiel haben wir a verwendet 4096 Der Bit -Schlüssel, der tatsächlich lange dauert, um Ihren Server und auf SSL -Handshake einen zusätzlichen Overhead zu erheben.
Falls es keine so explizite Notwendigkeit gibt, so lange einen Schlüssel zu verwenden, und Sie nicht zu paranoid sind, sollten Sie mit einem sicher sein 2048 Bit -Schlüssel.
14. Nach Dh Der Schlüssel wurde generiert, die Nginx -Konfigurationsdatei geöffnet und die folgenden Anweisungen nachher hinzufügen SSL_CIPHERS
Zeile, um den DH -Schlüssel hinzuzufügen und die Sicherheitsniveau Ihrer Domäne zu einem zu erhöhen A+
Grad.
# vi/etc/nginx/nginx.Conf
Fügen Sie den folgenden Blockauszug hinzu zu Nginx.Conf:
ssl_dhparam/etc/nginx/ssl/dhparams.Pem; ssl_session_timeout 30m; SSL_Session_Cache Shared: SSL: 10m; SSL_Buffer_Size 8K; add_Header strikt transport-security max-altern = 31536000;Fügen Sie der Nginx-Konfiguration Diffie-Hellman-Chiffriken hinzu
15. Neu starten Nginx Service zur Anwendung von Änderungen und zum erneuten Testen Ihres SSL.
# SystemCTL Neustart Nginx # Service Nginx NeustartÜberprüfen Sie das LetSencrypt -SSL -Zertifikat auf der Website
Schritt 5: Auto Renew Nginx Free lässt SSL -Zertifikate verschlüsseln
16. Lassen Sie uns CA verschlüsseln Veröffentlicht frei SSL/TLS Zertifikate gültig für 90 Tage. Zertifikate können vor dem Ablauf mit dem Webroot -Plugin manuell erneuert und angewendet werden, ohne Ihren Webserver zu stoppen, indem Sie die folgenden Befehle ausgeben:
# certbot -nginx -d Beispiel.com -d www.Beispiel.com # systemctl reload nginx
Stellen Sie beim Ausführen des obigen Befehls sicher, dass Sie das ersetzen Beispiel.com
zu Ihrer Domain entsprechen.
17. Um das Zertifikat automatisch zu erneuern, bevor es abläuft, erstellen Sie den Cron-Job in eine vorhandene Crontab-Datei.
# Crontab -e
Fügen Sie den folgenden Cron -Job am Ende der Datei hinzu, die jeden Tag um 12.00 Uhr ausgeführt wird, um den Ablauf des Zertifikats zu überprüfen und zu erneuern. Der --ruhig
Die Option gibt CertBot an, keine Ausgabe zu generieren.
0 12 * * */usr/bin/certbot renew -quiet
Das ist alles! Jetzt, Nginx Der Server kann sichere Webinhalte mit einem kostenlosen liefern SSL/TLS Lasst uns verschlüsseln Zertifikat auf Ihrer Website.
- « Sammeln Sie ein fortschrittliches All-in-One-Leistungsüberwachungstool für Linux
- 11 Beste kostenlose und kostengünstige SSL-Zertifikatbehörden »