Überwachung von SSL-Zertifikaten im Nginx-Reverse-Proxy

WBOY
Freigeben: 2023-06-10 10:52:40
Original
1371 Leute haben es durchsucht

Nginx ist ein Hochleistungs-Webserver und Reverse-Proxy-Server. Es wird häufig in vielen großen Websites und Anwendungen verwendet, da es stabil und zuverlässig ist. Das SSL-Zertifikat (Secure Sockets Layer) ist ein digitales Zertifikat, das zur sicheren Übertragung von Daten zwischen dem Client und dem Server verwendet wird. In Nginx ist die Verwendung von SSL-Zertifikaten eng mit dem Reverse-Proxy verbunden. In diesem Artikel wird die Verwendung von SSL-Zertifikaten im Nginx-Reverse-Proxy und deren Überwachung untersucht.

SSL-Zertifikatsverwendung im Nginx-Reverse-Proxy

In Nginx fungiert der Reverse-Proxy-Server als Front-End-Server, der Anfragen von Clients empfängt und sie an den Back-End-Server weiterleitet. Wenn Nginx als Reverse-Proxy-Server fungiert, kann es auch zum Ver- und Entschlüsseln von SSL-Verbindungen verwendet werden, was die Verwendung eines SSL-Zertifikats erfordert.

Um das SSL-Zertifikat in Nginx zu konfigurieren, müssen wir zuerst das SSL-Zertifikat generieren. Zertifikate können mit vielen verschiedenen Tools generiert werden, darunter OpenSSL, ACME Client und Certbot. Hier nehmen wir als Beispiel die Verwendung von OpenSSL zum Generieren eines Zertifikats.

SSL-Zertifikat mit OpenSSL generieren

Bevor wir OpenSSL zum Generieren eines SSL-Zertifikats verwenden, müssen wir OpenSSL auf dem Server installieren. Mit dem folgenden Befehl können wir überprüfen, ob OpenSSL installiert wurde:

openssl version
Nach dem Login kopieren

Wenn die Versionsinformationen von OpenSSL zurückgegeben werden, bedeutet dies, dass es installiert wurde. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:

sudo apt-get update
sudo apt-get install openssl
Nach dem Login kopieren

Nach Abschluss der Installation können wir den folgenden Befehl verwenden, um das Zertifikat zu generieren:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
Nach dem Login kopieren

Dieser Befehl generiert ein selbstsigniertes SSL-Zertifikat, das gültig ist für 365 Tage und speichern Sie es im Verzeichnis /etc/nginx/ssl. Unter diesen ist nginx.key die private Schlüsseldatei und nginx.crt die Zertifikatsdatei.

SSL-Zertifikate in Nginx konfigurieren

Sobald die Zertifikate generiert sind, können sie in Nginx konfiguriert werden. Die folgende Konfiguration kann zur Nginx-Konfigurationsdatei hinzugefügt werden:

server {
  listen 443 ssl;
  server_name example.com;

  ssl_certificate /etc/nginx/ssl/nginx.crt;
  ssl_certificate_key /etc/nginx/ssl/nginx.key;

  location / {
    proxy_pass http://localhost:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    # This line enables HTTPS for the proxy
    proxy_ssl_verify                  on;
    proxy_ssl_certificate            /etc/nginx/ssl/nginx.crt;
    proxy_ssl_certificate_key        /etc/nginx/ssl/nginx.key;
    proxy_ssl_session_reuse          on;
  }
}
Nach dem Login kopieren

Diese Konfiguration bedeutet, dass Nginx auf HTTPS-Verbindungen auf Port 443 lauscht und das generierte SSL-Zertifikat zum Verschlüsseln der Verbindung verwendet. Außerdem wird ein Reverse-Proxy eingerichtet, der Client-Anfragen an http://localhost:8000 weiterleitet.

SSL-Zertifikatüberwachung

SSL-Zertifikate sind für eine begrenzte Zeit gültig. Sobald ein Zertifikat abläuft, ist es nicht mehr gültig, wodurch die Website unsicher wird. Daher muss das im Nginx-Reverse-Proxy verwendete SSL-Zertifikat überwacht werden, um die Gültigkeitsdauer des Zertifikats sicherzustellen.

Im Folgenden sind einige gängige Methoden zur Überwachung von SSL-Zertifikaten aufgeführt:

1. Sehen Sie sich die Ablaufzeit des Zertifikats an.

Sie können den folgenden Befehl verwenden, um die Ablaufzeit des SSL-Zertifikats anzuzeigen:

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
Nach dem Login kopieren

Wobei example.com die Domäne ist Name Ihrer Website. Dieser Befehl gibt das Startdatum und das Ablaufdatum des Zertifikats aus.

2. Nagios-Überwachung

Nagios ist eine umfassende Überwachungslösung, die Ihnen bei der Überwachung von Servern, Anwendungen und Netzwerkdiensten hilft. Es kann auch die Ablaufzeit von SSL-Zertifikaten überwachen. Um Nagios zur Überwachung von SSL-Zertifikaten zu verwenden, müssen Sie Nagios und das SSL-Zertifikatüberwachungs-Plugin für Nagios installieren.

3. Let's Encrypt

Let's Encrypt ist eine kostenlose SSL-Zertifizierungsstelle, die Ihnen hilft, SSL-Zertifikate für den Nginx-Reverse-Proxy einfach zu konfigurieren. Darüber hinaus sind Let's Encrypt-Zertifikate 90 Tage lang gültig, sodass Sie Ihr Zertifikat regelmäßig erneuern müssen.

Um mit Let's Encrypt ein SSL-Zertifikat zu erhalten, müssen Sie Certbot installieren. Nach der Installation von Certbot können Sie den folgenden Befehl ausführen, um das Zertifikat zu erhalten:

sudo certbot certonly --webroot -w /var/www/example.com -d example.com
Nach dem Login kopieren

Dabei ist /var/www/example.com das Stammverzeichnis Ihrer Website und example.com der Domänenname Ihrer Website. Certbot überprüft es automatisch auf Ihrem Server und stellt Ihnen ein Zertifikat aus.

Fazit

In diesem Artikel wird die Verwendung und Überwachungsmethode des SSL-Zertifikats im Nginx-Reverse-Proxy vorgestellt. Wenn Sie ein SSL-Zertifikat verwenden, müssen Sie regelmäßig das Ablaufdatum des Zertifikats überprüfen. Durch die automatische Erneuerung von Zertifikaten mithilfe der Nagios-Überwachung oder Let's Encrypt können Sie sicherstellen, dass Ihr Zertifikat immer gültig ist. Die Überwachung von SSL-Zertifikaten ist ein wichtiger Schritt zum Schutz Ihrer Website und Kundendaten.

Das obige ist der detaillierte Inhalt vonÜberwachung von SSL-Zertifikaten im Nginx-Reverse-Proxy. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!