ホームページ 運用・保守 Nginx Nginx での HTTP キャッシュとセキュリティ パフォーマンスの最適化

Nginx での HTTP キャッシュとセキュリティ パフォーマンスの最適化

Jun 10, 2023 am 11:00 AM
nginx httpキャッシュ 安全性能

Nginx は、優れた HTTP キャッシュとセキュリティ性能により、高性能な Web サーバーおよびリバース プロキシ サーバー ソフトウェアです。この記事では、Nginx の HTTP キャッシュとセキュリティ パフォーマンスの 2 つの側面から Nginx のパフォーマンスを最適化する方法を詳しく紹介します。

1. HTTP キャッシュの最適化

HTTP キャッシュは Web パフォーマンス最適化の重要な手段の 1 つであり、Web アプリケーションの応答速度とユーザー エクスペリエンスを大幅に向上させることができます。 Nginx では、HTTP キャッシュを構成することで Web サイトのパフォーマンスを向上させることができます。

  1. 静的リソースのキャッシュ

静的リソースには、CSS、JavaScript、画像などが含まれます。これらのリソースのコンテンツは頻繁には変更されないことが多いため、キャッシュして容量を減らすことができます。クライアントの対話、サーバー間のリクエスト。 Nginx では、expires ディレクティブを使用してキャッシュの有効期限を制御できます。例:

location /static/ {
    expires 30d;
}
ログイン後にコピー

は、/static/ ディレクトリ内の静的リソースが 30 日後に期限切れになることを意味します。

  1. 動的ページのキャッシュ

動的ページのコンテンツはリクエスト パラメーターや Cookie などに基づいて動的に生成できるため、次のようにクライアントに直接キャッシュすることはできません。静的リソース。ただし、動的ページをサーバー側でキャッシュすることができ、次回同じリクエストがあった場合には、キャッシュされた結果が直接返されるため、ページの再生成を回避できます。 Nginx では、proxy_cache ディレクティブを使用してキャッシュを構成できます。例:

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;
server {
    location / {
        proxy_cache my_cache;
        proxy_pass http://backend;
    }
}
ログイン後にコピー

ここでは、my_cache という名前のキャッシュ領域を設定し、キャッシュ結果を /var/cache/nginx ディレクトリに保存します。次に、その場所で proxy_cache ディレクティブを構成して、キャッシュを有効にします。

  1. キャッシュ ネゴシエーション メカニズムを使用する

キャッシュ ネゴシエーション メカニズムとは、クライアントがリソースを要求するときに、最初に If-Modified-Since 条件または If-None-Match 条件を送信することを意味します。サーバーにリクエストするときに、キャッシュされたリソースが変更されていない場合、サーバーは 304 Not Modified ステータス コードを返し、クライアントはキャッシュされたリソースを引き続き使用できるため、帯域幅と応答時間が短縮されます。 Nginx では、proxy_cache_revalidate ディレクティブを使用してキャッシュ ネゴシエーション メカニズムを有効にすることができます。例:

location / {
    proxy_cache my_cache;
    proxy_cache_revalidate on;
    proxy_pass http://backend;
}
ログイン後にコピー

ここでは、proxy_cache_revalidate ディレクティブを location に追加するだけです。

2. セキュリティ パフォーマンスの最適化

セキュリティ パフォーマンスの最適化とは、Web アプリケーションのセキュリティを確保しながら、アプリケーションのパフォーマンスを可能な限り向上させることを指します。高性能 Web サーバーおよびリバース プロキシ サーバー ソフトウェアとして、Nginx はアプリケーションの高いパフォーマンスを保証するだけでなく、アプリケーションのセキュリティも保証する必要があります。

  1. HTTPS 暗号化通信

HTTPS は HTTP プロトコルの拡張であり、SSL/TLS プロトコルを使用してデータの暗号化と復号化を行い、データの安全な送信を実現します。 Nginx では、ssl_certificate ディレクティブと ssl_certificate_key ディレクティブを使用して SSL 証明書と秘密キーを構成できます。例:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        ...
    }
}
ログイン後にコピー
  1. HTTP 防御攻撃

Web アプリケーションにおける一般的な攻撃手法には、SQL インジェクション、クロスサイト スクリプティング攻撃 (XSS)、クロスサイト リクエスト フォージェリなどがあります。 (CSRF) 待ってください。 Nginx では、モジュールを使用してこれらの攻撃を防御できます。

(1) SQL インジェクション

SQL インジェクションとは、攻撃者が特別な SQL ステートメントを構築することでアプリケーションの認証および認可メカニズムをバイパスするか、悪意のある SQL ステートメントを直接実行することにより、データ漏洩や腐敗。 Nginx では、HttpSqlInjectionModule モジュールを使用して SQL インジェクションを防御できます。例:

location / {
    sql_injection on;
    ...
}
ログイン後にコピー

(2) XSS 攻撃

XSS 攻撃とは、攻撃者がユーザーの機密情報を取得したり、ユーザーのブラウザを制御したりするために、悪意のあるスクリプトを Web ページに挿入することを意味します。 Nginx では、HttpXssModule モジュールを使用して XSS 攻撃を防御できます。例:

location / {
    xss on;
    ...
}
ログイン後にコピー

(3) CSRF 攻撃

CSRF 攻撃とは、攻撃者がユーザーになりすまして、信頼された Web アプリケーションで不正な操作を実行し、損害を引き起こすことを指します。 Nginx では、HttpCsrfModule モジュールを使用して CSRF 攻撃を防御できます。例:

location / {
    csrf on;
    ...
}
ログイン後にコピー

要約すると、この記事では、Nginx の HTTP キャッシュとセキュリティ パフォーマンスの 2 つの側面から Nginx のパフォーマンスを最適化する方法を詳しく紹介します。 HTTP キャッシュを適切に使用することで、アプリケーションの応答速度とユーザー エクスペリエンスを向上させることができ、SSL 証明書とモジュールを使用することで、アプリケーションのセキュリティを確保し、さまざまな攻撃を防御することができます。

以上がNginx での HTTP キャッシュとセキュリティ パフォーマンスの最適化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

nginx403を解く方法 nginx403を解く方法 Apr 14, 2025 am 10:33 AM

Nginx 403禁止エラーを修正する方法は?ファイルまたはディレクトリの許可を確認します。 2。HTACCESSファイルを確認します。 3. nginx構成ファイルを確認します。 4。nginxを再起動します。他の考えられる原因には、ファイアウォールルール、Selinux設定、またはアプリケーションの問題が含まれます。

nginx304エラーを解く方法 nginx304エラーを解く方法 Apr 14, 2025 pm 12:45 PM

質問への回答:304変更されていないエラーは、ブラウザがクライアントリクエストの最新リソースバージョンをキャッシュしたことを示しています。解決策:1。ブラウザのキャッシュをクリアします。 2.ブラウザキャッシュを無効にします。 3.クライアントキャッシュを許可するようにnginxを構成します。 4.ファイル許可を確認します。 5.ファイルハッシュを確認します。 6. CDNまたは逆プロキシキャッシュを無効にします。 7。nginxを再起動します。

Nginxクロスドメインの問題を解決する方法 Nginxクロスドメインの問題を解決する方法 Apr 14, 2025 am 10:15 AM

Nginxクロスドメインの問題を解決するには2つの方法があります。クロスドメイン応答ヘッダーの変更:ディレクティブを追加して、クロスドメイン要求を許可し、許可されたメソッドとヘッダーを指定し、キャッシュ時間を設定します。 CORSモジュールを使用します。モジュールを有効にし、CORSルールを構成して、ドメインクロスリクエスト、メソッド、ヘッダー、キャッシュ時間を許可します。

Linuxでnginxを開始する方法 Linuxでnginxを開始する方法 Apr 14, 2025 pm 12:51 PM

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

nginx403エラーを解く方法 nginx403エラーを解く方法 Apr 14, 2025 pm 12:54 PM

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

nginxの実行ステータスを確認する方法 nginxの実行ステータスを確認する方法 Apr 14, 2025 am 11:48 AM

nginxの実行ステータスを表示する方法は次のとおりです。PSコマンドを使用してプロセスステータスを表示します。 nginx configuration file /etc/nginx/nginx.confを表示します。 NGINXステータスモジュールを使用して、ステータスエンドポイントを有効にします。 Prometheus、Zabbix、Nagiosなどの監視ツールを使用します。

Nginxが開始されるかどうかを確認する方法 Nginxが開始されるかどうかを確認する方法 Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

nginxエラーログをクリーニングする方法 nginxエラーログをクリーニングする方法 Apr 14, 2025 pm 12:21 PM

エラーログは、/var/log/nginx(Linux)または/usr/local/var/log/nginx(macos)にあります。コマンドラインを使用して手順をクリーンアップします。1。元のログをバックアップします。 2。新しいログとして空のファイルを作成します。 3。nginxサービスを再起動します。自動クリーニングは、LogroTateや構成などのサードパーティツールでも使用できます。

See all articles