Mit der kontinuierlichen Weiterentwicklung und Verbesserung des Internets wird auch die Nachfrage nach Geschwindigkeit und Leistung von Webservern immer höher. Um diesen Anforderungen gerecht zu werden, hat Nginx das HTTP2-Protokoll erfolgreich beherrscht und in die Leistung seines Servers integriert. Das HTTP2-Protokoll ist effizienter als das frühere HTTP-Protokoll, weist jedoch auch spezifische Sicherheitsprobleme auf. In diesem Artikel erfahren Sie ausführlich, wie Sie das HTTP2-Protokoll und die Sicherheitseinstellungen von Nginx optimieren.
1. Nginx HTTP2-Protokolloptimierung
1. HTTP2 aktivieren
Der einfachste Weg, das HTTP2-Protokoll im Nginx-Server zu verwenden, ist die Aktivierung von SSL und TLS. Um dieses Protokoll zu aktivieren, müssen wir eine spezielle Konfiguration in der Datei nginx.conf anwenden. Bevor wir HTTP2 aktivieren, müssen wir sicherstellen, dass ein SSL-Zertifikat verwendet wird und jede Anfrage verschlüsselt ist. Bei HTTP2-Servern muss das HTTPS-Verschlüsselungsprotokoll verwendet werden, um Daten vor der Offenlegung im Netzwerk zu schützen und Abhör- und Man-in-the-Middle-Angriffe zu verhindern.
2. HTTP2-Multiplexing aktivieren
Multiplexing des HTTP2-Protokolls ermöglicht es dem Webserver, mehrere Anfragen und Antworten gleichzeitig über eine Verbindung zu übertragen. Dies verbessert die Serverleistung und -effizienz erheblich. Ohne aktiviertes Multiplexing werden die Vorteile des HTTP2-Protokolls stark beeinträchtigt. Das Aktivieren von Multiplexing ähnelt dem Aktivieren von HTTP2. Wir können es aktivieren, indem wir „http2_push_preload on“ im Serverabschnitt der Nginx-Konfigurationsdatei hinzufügen.
3. Gzip für Nginx aktivieren
Gzip ist eine gängige Technologie zur Komprimierung von Webserverdaten, um Leistung und Effizienz zu verbessern. Nginx verfügt über ein integriertes gzip-Modul zum Komprimieren aller HTML-, CSS-, JS- und XML-Dokumente. Aktivieren Sie gzip in der Konfigurationsdatei:
gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
Unter diesen aktiviert die Ginx-Konfiguration die gzip-Funktion, gzip_disable gibt einen Browser an, der gzip deaktiviert, gzip_vary aktiviert die Cache-Unterstützung, gzip_proxied gibt die Übertragungsmethode an, die die Komprimierung ermöglicht, gzip_comp_level gibt die Komprimierungsstufe an, gzip_buffers legt den Cache-Bereich fest und gzip_http_version gibt die http2.0-Version an und gzip_types gibt den Dateityp mit aktiviertem gzip an.
2. Sicherheitseinstellungen für das Nginx-HTTP2-Protokoll
1. Verwenden Sie die HTTPS-Verschlüsselung. Bei Verwendung des HTTP2-Protokolls müssen Sie das HTTPS-Verschlüsselungsprotokoll verwenden, um sicherzustellen, dass die Daten während der Übertragung nicht abgehört und geändert werden. Sie können ein SSL-Zertifikat oder ein anderes Sicherheitsprotokoll verwenden, das das Abfangen von Paketen verhindert.
2. Veraltete oder gefährliche Protokolle deaktivieren
In den HTTPS-Einstellungen von Nginx ist es notwendig, die alten und gefährlichen SSL- und TLS-Protokolle zu deaktivieren. Beispielsweise sind SSLv2 und SSLv3 unsichere Protokolle, die für Man-in-the-Middle-Angriffe ausgenutzt werden können. TLSv1.0 und TLSv1.1 sind ebenfalls veraltet und werden daher nicht empfohlen.
3. HSTS aktivieren
HSTS ist eine Sicherheitsmaßnahme, die verhindert, dass Browser schädliche eingebettete Skripte von nicht vertrauenswürdigen Quellen empfangen, und Verbindungen zu Ihrer Website umleiten kann, um HTTPS zu sichern. Beim HSTS-Setup wird ein HSTS-Antwortheader zu den HTTP-Headern hinzugefügt und diese während der HTTPS-Kommunikation zwischen dem Browser und dem Server als unwiderruflich markiert.
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Dabei gibt max-age das Zeitlimit für die Einstellung der Website auf HSTS an, und includeSubDomains gibt an, dass HSTS für alle Subdomains gilt. Diese Einstellung sollte immer die
-Regel enthalten, um sicherzustellen, dass der HSTS-Header in jeder Antwort vorhanden ist, auch bei einem 404-Fehler.“always”
Fazit
Das HTTP2-Protokoll von Nginx kann die Serverleistung verbessern, gleichzeitig müssen jedoch Sicherheitsprobleme beachtet werden. Um die Sicherheit Ihres Servers zu gewährleisten, müssen Sie zum Schutz Ihrer Daten ein SSL-Zertifikat und ein TLS-Protokoll verwenden, unsichere Legacy-Protokolle deaktivieren und HSTS aktivieren, um Ihren Browser vor böswilligen Angriffen durch eingebettete Skripte zu schützen. Durch die Aktivierung von gzip in der Nginx-Konfiguration kann die Website-Leistung optimiert werden. Mit diesen Konfigurationen können Sie die Leistung und Sicherheit Ihres Nginx-Servers erheblich verbessern.
Das obige ist der detaillierte Inhalt vonOptimierung und Sicherheitseinstellungen für das Nginx HTTP2-Protokoll. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!