Nginx wird als Hochleistungs-Webserver und Reverse-Proxy-Server häufig für die Anwendungsbereitstellung und den Lastausgleich verwendet. Mit der schrittweisen Verbesserung des Sicherheits- und Umweltschutzbewusstseins ist HTTPS auch aus modernen Webanwendungen nicht mehr wegzudenken. Dieser Artikel konzentriert sich auf die HTTPS-Bereitstellung und die Optimierung der Sicherheitsleistung von Nginx.
1. HTTPS-Bereitstellung von Nginx
Zuerst müssen Sie sich an die Zertifizierungsstelle (CA) wenden, um ein SSL-Zertifikat zu beantragen. Nach erfolgreicher Bewerbung erhalten Sie eine Zertifikatsdatei (.crt) und eine private Schlüsseldatei (.key).
Die HTTPS-Konfiguration von Nginx muss drei Aspekte umfassen: HTTP-Weiterleitung an HTTPS, Nginx-Zertifikatkonfiguration und HTTPS-Konfiguration.
(1) HTTP an HTTPS weiterleiten
In der Nginx-Konfigurationsdatei müssen Sie einen Abschnitt der HTTP-Konfiguration hinzufügen, damit Benutzer beim Zugriff auf den HTTP-Standardport 80 automatisch zum Standardport 443 von HTTPS springen können.
server { listen 80; server_name example.com; return 301 https://$server_name$request_uri; }
(2) Nginx-Zertifikatkonfiguration
In der Nginx-Konfigurationsdatei müssen Sie das SSL-Zertifikat und die private Schlüsseldatei, die Sie gerade beantragt haben, zur Konfigurationsdatei hinzufügen.
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/cert.crt; ssl_certificate_key /path/to/cert.key; ... }
(3) HTTPS-Konfiguration
Sie müssen bestimmte Optionen des HTTPS-Protokolls konfigurieren, z. B. das Aktivieren des HTTP/2-Protokolls, das Deaktivieren von SSLv3 usw.
http2_push_preload on; #启用HTTP/2协议的推送预加载 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #指定启用的TLS协议版本 ssl_ciphers EECDH+AESGCM:EDH+AESGCM:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM; #指定加密套件 ssl_prefer_server_ciphers on; #常用加密套件优先顺序为服务端指定的值 ssl_session_cache shared:SSL:10m; #指定SSL session缓存 ssl_session_timeout 10m; #指定SSL session超时时间
2. Nginx-Sicherheitsleistungsoptimierung
Nach der Bereitstellung des HTTPS-Dienstes müssen Sie auch auf die folgenden Probleme bei der Sicherheitsleistungsoptimierung achten, um die Stabilität und Sicherheit des Dienstes zu gewährleisten:
OCSP (Online Certificate Status Protocol) wird verwendet, um zu erkennen, ob ein Zertifikat widerrufen wurde. In der HTTPS-Konfiguration von Nginx kann die OCSP-Antworterkennung durch die folgenden Verfahren durchgeführt werden:
ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /path/to/fullchain.pem; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 10s;
Die wichtigsten Punkte werden wie folgt interpretiert:
HSTS (HTTP Strict Transport Security) verhindert, dass Benutzer auf HTTP-Seiten gekapert werden, wodurch die Sicherheitsstufe erhöht wird. In der HTTPS-Konfiguration von Nginx können Sie HSTS wie folgt aktivieren:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Die wichtigsten Punkte werden wie folgt erklärt:
Standardmäßig aktiviert Nginx nur TLSv1 und TLSv1.2. Wenn Sie andere Verschlüsselungsprotokolle aktivieren müssen, können Sie es wie folgt konfigurieren:
ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
Die wichtigsten Punkte werden wie folgt interpretiert:
ssl_ciphers ... !aNULL !eNULL !EXPORT !CAMELLIA !DES !MD5 !PSK !RC4 !SEED +AES256 !kEDH +SHA256 +HMAC;
+SHA256 SHA256-Hash-Funktion aktivieren
+HMAC HMAC-Schlüsselalgorithmus aktivieren
Das obige ist der detaillierte Inhalt vonHTTPS-Bereitstellung und Sicherheitsleistungsoptimierung von Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!