Heim >Betrieb und Instandhaltung >Nginx >So konfigurieren Sie die sichere HTTPS-Kommunikation zwischen Nginx-Server und iOS
Einführung
In der Netzwerkkommunikation kann Paketerfassungssoftware verwendet werden, um Netzwerkanforderungen zu analysieren und Wiederholungsangriffe durchzuführen. Die Lösung für Wiederholungsangriffe besteht im Allgemeinen darin, einen sich ändernden Parameter zu verwenden, z. B. einen RSA-verschlüsselten Zeitstempel, jedoch unter Berücksichtigung des Netzwerks Aufgrund der Übertragungsverzögerung muss der Zeitstempel eine gewisse Fehlertoleranz aufweisen, die Replay-Angriffe dennoch nicht grundsätzlich verhindern kann. Wenn Sie das Problem von Replay-Angriffen besser lösen möchten, sollten Sie die Verwendung von https-Kommunikation in Betracht ziehen. Das https-Protokoll ist ein Netzwerkprotokoll, das auf dem SSL+http-Protokoll basiert und eine verschlüsselte Übertragung und Identitätsauthentifizierung durchführen kann. Es ist sicherer als das http-Protokoll .
Implementierung
Für Websites, auf die mit einem Browser zugegriffen wird, müssen Sie ein Zertifikat von der CA beantragen, um sicherzustellen, dass https-Webseiten normal durchsucht werden können. Andernfalls werden Sie gewarnt, dass es sich um eine unsichere oder nicht zertifizierte Website handelt. und für die Übertragung einiger Hintergrunddaten verwenden Sie einfach ein selbstsigniertes Zertifikat.
Konfiguration des Servers
Zertifikat generieren
Führen Sie die folgenden Vorgänge in der Befehlszeile des Servers aus
① Um den privaten Schlüssel des Servers zu generieren, müssen Sie ein 4~8191-stelliges Passwort eingeben
openssl genrsa -des3 -out server.key 2048
②Entfernen Sie das Schlüsseldatei-Passwort. Sie müssen das ausgefüllte Passwort eingeben ①
openssl rsa -in server.key -out server.key
③, um eine CSR-Datei zu erstellen. Sie können die Eingabetaste drücken, um sie alle zu überspringen crt-Datei. Die -Tage in diesem Schritt sind die Gültigkeitsdauer. Sie können sie länger schreiben Generieren Sie CER, und die CER-Datei wird zur Überprüfung auf dem Client gespeichert
openssl req -new -key server.key -out server.csr2. Ändern Sie die Nginx-Konfigurationsdatei. Wenn Sie den Pfad der Konfigurationsdatei nicht kennen, verwenden Sie den folgenden Befehl, um sie auszudrucken.
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crtMit diesem Befehl kann getestet werden, ob die Konfigurationsdatei korrekt ist und wird auch den Pfad ausdrucken. Öffnen Sie laut gedrucktem Inhalt nginx.conf und Sie können feststellen, dass es ein http {...}-Konfigurations-Tag gibt. Fügen Sie dem http-Tag ein Server-Konfigurations-Tag hinzu.
cat server.crt server.key > server.pem3. Konfiguration aktualisieren
openssl x509 -in server.pem -outform der -out server.cer
An diesem Punkt ist die serverseitige Konfiguration abgeschlossen.
Client-KonfigurationWenn es sich um ein von CA ausgestelltes Zertifikat handelt, können Sie die HTTPS-Anfrage direkt verwenden. Wenn Sie jedoch direkt darauf zugreifen, wird ein Fehler gemeldet Verwenden von afn zum Konfigurieren der https-Anfrage der selbstsignierten Zertifikatsmethode.
1. Importieren Sie das oben genannte Cer-Zertifikat in das Bundle der Appnginx -t
Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die sichere HTTPS-Kommunikation zwischen Nginx-Server und iOS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!