So konfigurieren Sie die bidirektionale Zertifikatsüberprüfung auf dem Nginx-Proxyserver

So konfigurieren Sie die bidirektionale Zertifikatsüberprüfung auf dem Nginx-Proxyserver

Generieren einer Zertifikatskette

Verwenden Sie das Skript, um ein Stammzertifikat, ein Zwischenzertifikat und drei Client-Zertifikate zu generieren.

Der Domänenname des Zwischenzertifikats ist localhost.

#!/bin/bash -x
setze -e
für C in „echo root-ca intermediate“;
 mkdir $C
 CD $C
 mkdir certs crl newcerts privat
 CD ..
 echo 1000 > $C/seriell
 berühren Sie $C/index.txt $C/index.txt.attr
 Echo '
[ ca ]
default_ca = CA_Standard
[ CA_Standard ]
dir = '$C' # Wo alles aufbewahrt wird
certs = $dir/certs # Wo die ausgestellten Zertifikate aufbewahrt werden
crl_dir = $dir/crl # Wo die ausgestellten CRLs aufbewahrt werden
Datenbank = $dir/index.txt # Datenbankindexdatei.
new_certs_dir = $dir/newcerts # Standardspeicherort für neue Zertifikate.
certificate = $dir/cacert.pem # Das CA-Zertifikat
serial = $dir/serial # Die aktuelle Seriennummer
crl = $dir/crl.pem # Die aktuelle CRL
private_key = $dir/private/ca.key.pem # Der private Schlüssel
RANDFILE = $dir/.rnd # private Zufallszahlendatei
nameopt = default_ca
certopt = default_ca
Richtlinie = Richtlinienübereinstimmung
Standardtage = 365
Standardmd = sha256
[ Richtlinienübereinstimmung ]
countryName = optional
stateOrProvinceName = optional
Organisationsname = optional
organizationalUnitName = optional
commonName = angegeben
E-Mail-Adresse = optional
[Anforderung]
req_extensions = v3_req
Distinguished_Name = erforderlicher Distinguished_Name
[erforderlicher_Name]
[v3_erforderlich]
Grundeinschränkungen = CA:TRUE
' > $C/openssl.conf
Erledigt
openssl genrsa -out root-ca/private/ca.key 2048
openssl req -config root-ca/openssl.conf -new -x509 -days 3650 -key root-ca/private/ca.key -sha256 -extensions v3_req -out root-ca/certs/ca.crt -subj '/CN=Root-ca'
openssl genrsa -out Zwischen-/Privat-/Zwischenschlüssel 2048
openssl req -config intermediate/openssl.conf -sha256 -new -key intermediate/private/intermediate.key -out intermediate/certs/intermediate.csr -subj '/CN=localhost.'
openssl ca -batch -config root-ca/openssl.conf -keyfile root-ca/private/ca.key -cert root-ca/certs/ca.crt -extensions v3_req -notext -md sha256 -in intermediate/certs/intermediate.csr -out intermediate/certs/intermediate.crt
mkdir aus
für I in `seq 1 3`; mache
 openssl req -new -keyout out/$I.key -out out/$I.request -days 365 -nodes -subj "/CN=$I.example.com" -newkey rsa:2048
 openssl ca -batch -config root-ca/openssl.conf -keyfile intermediate/private/intermediate.key -cert intermediate/certs/intermediate.crt -out out/$I.crt -infiles out/$I.request
Erledigt

Server

Nginx-Konfiguration

Arbeiterprozesse 1;
Ereignisse {
  Arbeiterverbindungen 1024;
}
Strom{
  Upstream-Backend{
    Server 127.0.0.1:8080;
  }
  Server {
    hören Sie 8888 SSL;
    Proxy_Pass-Backend;
    ssl_zertifikat zwischengeschaltet.crt;
    ssl_zertifikatsschlüssel Zwischenschlüssel;
    ssl_überprüfen_tiefe 2;
    ssl_client_zertifikat root.crt;
    ssl_verify_client optional_no_ca;
  }
}

Kunde

Locke \
 -ICH \
 -vv \
 -x https://localhost:8888/ \
 --proxy-cert client1.crt \
 --proxy-key client1.key \
 --proxy-cacert ca.crt \
 https://www.baidu.com/

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • So konfigurieren Sie nginx+php+mysql in Docker
  • Lösung für ungültige Nginx-Cross-Domain-Einstellung Access-Control-Allow-Origin
  • Beispielmethode zum Bereitstellen eines React-Projekts auf Nginx
  • Verwenden Sie das Tool nginx.vim zur Syntaxhervorhebung und Formatierung der Konfigurationsdatei nginx.conf
  • Detaillierte Erläuterung der Fallstricke von add_header im Nginx-Konfigurationstutorial
  • Lösung für das Problem des Informationsverlusts mit "_" im Header bei Verwendung des Nginx-Proxys
  • Shell-Skript Nginx-Automatisierungsskript
  • So erstellen Sie einen Nginx-Server mit Docker
  • Eine kurze Erläuterung, warum Daemon Off beim Ausführen von Nginx in Docker verwendet wird
  • Einführung in das Batch-Cache-Löschskript von nginx proxy_cache

<<:  Das WeChat-Applet implementiert einen einfachen Rechner

>>:  Detaillierte Erklärung der Rolle des Schlüssels in React

Artikel empfehlen

Vue setzt die Daten auf ihren ursprünglichen Zustand zurück

In einigen Fällen müssen die Daten in den Daten w...

Idea konfiguriert Tomcat zum Starten eines Webprojekts - Grafik-Tutorial

Tomcat konfigurieren 1. Klicken Sie auf „Konfigur...

Angular Cookie Lese- und Schreibvorgangscode

Lese- und Schreibvorgänge bei Angular Cookies, de...

Detaillierte Erklärung der Linux-RPM- und Yum-Befehle und -Verwendung

RPM-Paketverwaltung Ein Verpackungs- und Installa...

Mehrere Methoden zum Ändern des MySQL-Root-Passworts (empfohlen)

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

Häufige Anwendungsszenarien für React Hooks (Zusammenfassung)

Inhaltsverzeichnis 1. Staatshaken 1. Grundlegende...

Klassifizierung der Farbeigenschaften von Webseiten

Klassifizierung der Farbeigenschaften Jede Farbe ...

Detaillierte Schritte zur Yum-Konfiguration des Nginx-Reverse-Proxys

Teil.0 Hintergrund Die Intranetserver des Unterne...

Docker benennt den Imagenamen und die TAG-Operation um

Bei der Verwendung von Docker-Images können Image...