Heim >Betrieb und Instandhaltung >Nginx >So konfigurieren Sie die sichere HTTPS-Kommunikation zwischen Nginx-Server und iOS

So konfigurieren Sie die sichere HTTPS-Kommunikation zwischen Nginx-Server und iOS

王林
王林nach vorne
2023-05-28 23:12:451015Durchsuche

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.csr

2. Ä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.crt

Mit 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.pem
3. Konfiguration aktualisieren

openssl x509 -in server.pem -outform der -out server.cer

An diesem Punkt ist die serverseitige Konfiguration abgeschlossen.

Client-Konfiguration

Wenn 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 App
nginx -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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen