インターネットの継続的な発展と改善に伴い、Web サーバーの速度とパフォーマンスに対する要求もますます高まっています。このような要求に応えるために、Nginx は HTTP2 プロトコルを習得し、それをサーバーのパフォーマンスに組み込むことに成功しました。 HTTP2 プロトコルは以前の HTTP プロトコルよりも効率的ですが、特有のセキュリティ上の問題もあります。この記事では、Nginx の HTTP2 プロトコルとセキュリティ設定を最適化する方法を詳しく紹介します。
1. Nginx HTTP2 プロトコルの最適化
1. HTTP2 を有効にする
Nginx サーバーで HTTP2 プロトコルを使用する最も簡単な方法は、SSL と TLS を有効にすることです。このプロトコルを有効にするには、nginx.conf ファイルに特別な構成を適用する必要があります。 HTTP2 を有効にする前に、SSL 証明書が使用され、各リクエストが暗号化されていることを確認する必要があります。 HTTP2 サーバーの場合は、盗聴や中間者攻撃を防ぐためにデータがネットワーク上に公開されるのを防ぐために、HTTPS 暗号化プロトコルを使用する必要があります。
2. HTTP2 多重化を有効にする
HTTP2 プロトコルを多重化すると、Web サーバーは 1 つの接続で複数のリクエストと応答を同時に送信できるようになります。これにより、サーバーのパフォーマンスと効率が大幅に向上します。多重化を有効にしないと、HTTP2 プロトコルの利点が大幅に減少します。多重化を有効にすることは、HTTP2 を有効にすることと似ています。 Nginx 設定ファイルのサーバー セクションに「http2_push_preload on」を追加することで有効にできます。
3. Nginx で Gzip を有効にする
Gzip は、Web サーバー データを圧縮してパフォーマンスと効率を向上させるために使用される一般的なテクノロジです。 Nginx には、すべての Html、CSS、JS、および XML ドキュメントを圧縮するための gzip モジュールが組み込まれています。設定ファイルで gzip をオンにします:
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;
このうち、ginx 設定は gzip 機能を有効にし、gzip_disable は gzip を無効にするブラウザを示し、gzip_vary はキャッシュ サポートを有効にし、gzip_proxied は圧縮を許可する送信方法を示し、gzip_comp_level は次のことを示します。圧縮レベルと gzip_buffers の設定 キャッシュ領域の gzip_http_version は http2.0 バージョンを示し、gzip_types は gzip が有効になっているファイル タイプを示します。
2. Nginx HTTP2 プロトコルのセキュリティ設定
1. HTTPS 暗号化の使用
HTTP2 プロトコルを使用する場合は、HTTP2 プロトコルを使用してデータが確実に送信されるようにする必要があります。通信を盗聴したり改ざんしたりすることはできません。パケットの傍受を防ぐ SSL 証明書またはその他のセキュリティ プロトコルを使用できます。
2. 古いプロトコルまたは危険なプロトコルをオフにする
Nginx の HTTPS 設定では、古くて危険な SSL および TLS プロトコルをオフにする必要があります。たとえば、SSLv2 と SSLv3 は、中間者攻撃に悪用される可能性がある安全でないプロトコルです。 TLSv1.0 と TLSv1.1 も廃止されたため、推奨されません。
3. HSTS を有効にする
HSTS は、ブラウザが信頼できないソースから悪意のある埋め込みスクリプトを受信するのを防ぎ、Web サイトへの接続を安全な HTTPS に変更できるセキュリティ対策です。 HSTS セットアップには、HTTP ヘッダーに HSTS 応答ヘッダーを追加し、ブラウザとサーバー間の HTTPS 通信中に取り消し不能としてマークを付けることが含まれます。
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
このうち、max-age は Web サイトを HSTS に設定する有効期限を示し、includeSubDomains はすべてのサブドメインに HSTS が適用されることを示します。この設定には、404 エラーであっても、すべての応答に HSTS ヘッダーが存在することを保証するために、常に "always"
ルールを含める必要があります。
結論
Nginx の HTTP2 プロトコルはサーバーのパフォーマンスを向上させますが、同時にセキュリティの問題に注意する必要があります。サーバーを保護するには、SSL 証明書と TLS プロトコルを使用してデータを保護し、安全でないレガシー プロトコルを無効にし、HSTS を有効にしてブラウザを悪意のある埋め込みスクリプト攻撃から保護する必要があります。 Nginx 構成で gzip を有効にすると、Web サイトのパフォーマンスを最適化できます。これらの構成を使用すると、Nginx サーバーのパフォーマンスとセキュリティを大幅に向上させることができます。
以上がNginx HTTP2 プロトコルの最適化とセキュリティ設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。