Beispielcode zur Implementierung der bidirektionalen Authentifizierung mit Nginx+SSL

Beispielcode zur Implementierung der bidirektionalen Authentifizierung mit Nginx+SSL

Erstellen Sie zunächst ein Verzeichnis

cd /etc/nginx
mkdir ssl
SSL-Verschlüsselung

CA vs. selbstsigniert

Erstellen eines privaten CA-Schlüssels

openssl genrsa -out ca.key 2048

Erstellen eines CA-Stammzertifikats (öffentlicher Schlüssel)

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

Beachten:

1. Der allgemeine Name kann nach Belieben ausgefüllt werden
2. Um Fehler zu vermeiden, füllen Sie bitte auch alle weiteren erforderlichen Angaben aus.

Server-Zertifikat

Erstellen Sie einen serverseitigen privaten Schlüssel:

openssl genrsa -out server.pem 1024
openssl rsa -in server.pem -out server.key

Generieren Sie eine Signaturanforderung:

openssl req -new -key server.pem -out server.csr

Beachten:

1. Der allgemeine Name muss beim Zugriff auf den Dienst mit dem Domänennamen ausgefüllt werden. Hier verwenden wir usb.dev. Die folgende NGINX-Konfiguration verwendet
2. Um Fehler zu vermeiden, füllen Sie alle anderen erforderlichen Informationen aus (um sie mit dem CA-Stammzertifikat abzugleichen).

Ausgestellt von CA

openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt

Client-Zertifikate

Ähnlich wie das Server-Zertifikat

Beachten:

1. Der allgemeine Name kann nach Belieben ausgefüllt werden
2. Um Fehler zu vermeiden, füllen Sie alle anderen erforderlichen Informationen aus (um sie mit dem CA-Stammzertifikat abzugleichen).

Nachdem die erforderlichen Zertifikate vorhanden sind, können wir mit der Konfiguration von NGINX beginnen.

Nginx-Konfiguration

Server {
    hören Sie 443;
    Servername usb.dev;

    Index Index.html;

    Stammverzeichnis /Daten/Test/;

    SSL aktiviert;
    SSL-Zertifikat /etc/nginx/ssl/server.crt;
    SSL-Zertifikatsschlüssel /etc/nginx/ssl/server.key;
    SSL-Clientzertifikat /etc/nginx/ssl/ca.crt;
    ssl_verify_client ein;
}

Bestätigung anfordern

Der Überprüfungsprozess kann auf einem anderen Computer oder auf dem lokalen Computer durchgeführt werden. Um usb.dev aufzulösen, müssen Sie auch /etc/hosts konfigurieren:

IP-Adresse usb.dev

Wenn Sie zur Authentifizierung einen Browser verwenden, müssen Sie das Client-Zertifikat in das P12-Format exportieren.

openssl pkcs12 -export -clcerts -in client.crt -inkey client.pem -out client.p12

Laden Sie mehrere Zertifikate vom Server herunter und installieren Sie sie in der Liste der vertrauenswürdigen Zertifikate. Klicken Sie auf die soeben generierte p12-Datei und geben Sie das Zertifikatkennwort ein, um sie in der persönlichen Liste zu installieren.
Schließen Sie anschließend den Browser und geben Sie den Domänennamen erneut ein. Daraufhin wird eine Zertifikatsaufforderung zur bidirektionalen SSL-Verifizierung angezeigt. Wählen Sie einfach das Zertifikat aus.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Beispiel für die Konfiguration von nginx zur Implementierung von SSL
  • Starten Sie die auf Docker basierende nginxssl-Konfiguration
  • Lösung für den Konfigurationsfehler des Nginx-SSL-Zertifikats
  • Konfiguration des SSL-Zertifikats für den Nginx-Domänennamen (Website-HTTP auf https aktualisiert)
  • Implementierung der Nginx-Lastverteilung/SSL-Konfiguration
  • So konfigurieren Sie ein SSL-Zertifikat in Nginx, um den HTTPS-Dienst zu implementieren
  • Einfache Schritte zum Konfigurieren des Nginx-Reverse-Proxys mit SSL
  • Detaillierte Erläuterung der Nginx-Installation, SSL-Konfiguration und allgemeinen Befehle unter Centos7.x
  • Schritte zum Konfigurieren von Nginx SSL zur Implementierung des HTTPS-Zugriffs (für Anfänger geeignet)
  • Erstellen Sie ein SSL-Zertifikat, das in nginx und IIS verwendet werden kann

<<:  Detaillierte Einführung in das MySQL-Schlüsselwort Distinct

>>:  Vollständiger Code zur Implementierung der Vue-Backtop-Komponente

Artikel empfehlen

Diagramm zur Installation von VMware 14 unter Windows 10

Software-Download Link zum Herunterladen der Soft...

Vue-Statusverwaltung: Verwendung von Pinia statt Vuex

Inhaltsverzeichnis 1. Was ist Pinia? 2. Pinia ist...

Mit CSS3 3D-Effekten einen Würfel erstellen

Wenn wir lernen, die 3D-Effekte von CSS3 zum Erst...

vue realisiert die Anpassung der Spaltenbreite von el-table perfekt

Inhaltsverzeichnis Hintergrund Technische Lösung ...

Beispielcode zur einfachen Implementierung des Seitenlayouts mit Flex-Layout

Kommen wir ohne weitere Umschweife direkt zum Cod...

Webdesign-Dimensionen und Regeln für die Werbegestaltung auf Webseiten

1. Unter 800 x 600 gibt es keine horizontale Bild...

Detaillierte Erklärung der KeepAlive-Verwendung in der Vue-Frontend-Entwicklung

Inhaltsverzeichnis Vorwort Keep-Avlive-Hook-Funkt...

Nginx löst Cross-Domain-Probleme und bindet Seiten von Drittanbietern ein

Inhaltsverzeichnis Vorwort Schwierigkeit Domänenü...

6 Vererbungsmethoden von JS Advanced ES6

Inhaltsverzeichnis 1. Vererbung der Prototypkette...

So erstellen Sie ein ELK-Protokollsystem basierend auf Docker

Hintergrundanforderungen: Mit zunehmender Größe d...