ホームページ 運用・保守 Nginx クラウド環境での Nginx の安全な導入とメンテナンス

クラウド環境での Nginx の安全な導入とメンテナンス

Jun 09, 2023 pm 09:39 PM
nginx クラウド環境 安全な導入

クラウド コンピューティングの発展に伴い、クラウド環境に展開されるアプリケーションやサービスがますます増えています。 Nginx は、高性能 Web サーバーおよびリバース プロキシ サーバーとして、クラウド環境でますます人気が高まっています。この記事では、クラウド環境における Nginx の安全な導入と保守について紹介します。

1. Nginx セキュリティ構成

クラウド環境では、サーバーはより広い攻撃対象領域に直面するため、セキュリティ構成は特に重要です。一般的な Nginx セキュリティ構成をいくつか示します。

1. DDoS 攻撃を防ぐ

DDoS 攻撃は一般的なネットワーク攻撃であり、Nginx のlimit_conn モジュールとlimit_req モジュールを使用して防ぐことができます。このうち、limit_conn は接続数を制御でき、limit_req はリクエストレートを制御できます。これら 2 つのモジュールの構成は次のとおりです:

http {
    limit_conn_zone $binary_remote_addr zone=addr:10m; 
    limit_conn addr 10; # 对每个IP地址限制10个连接数 
    
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; 
    limit_req zone=one burst=5 nodelay;
    # 每秒只允许处理1个请求,最多允许5个请求在等待队列中等待
}
ログイン後にコピー

2. 安全でない HTTP メソッドを無効にする

一部の HTTP リクエスト メソッド (DELETE、TRACE、CONNECT など) は安全性が低くなります。以下に示すように、Nginx の limit_exc ディレクティブを使用して、安全でない HTTP メソッドの使用を制限できます:

location / {
    limit_except GET POST {
        deny all;
    }
}
ログイン後にコピー

3. サーバー情報の漏洩を禁止する

攻撃者はサーバー情報を取得することでサーバーの脆弱性や弱点を突き止めることができます。 , そのため、サーバー情報の漏洩を防ぐことも重要なセキュリティ構成です。以下に示すように、Nginx の server_tokens ディレクティブを使用して、HTTP 応答ヘッダーにサーバー情報を表示するかどうかを制御できます:

http {
    server_tokens off; # 禁止在HTTP响应头中显示服务器信息
}
ログイン後にコピー

2. Nginx パフォーマンスの最適化

クラウド環境の Web アプリケーションは、通常、同時リクエストが多数あるため、パフォーマンスの最適化も重要なタスクです。ここでは、一般的な Nginx パフォーマンス最適化方法をいくつか紹介します。

1. キャッシュを有効にする

画像、CSS、JS などの一部の静的リソースでは、Nginx のキャッシュを使用してアクセス速度を向上させることができます。以下に示すように、Nginx の proxy_cache_path ディレクティブを使用してキャッシュ パスとキャッシュ サイズを設定できます:

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

2. Gzip 圧縮を使用する

Gzip 圧縮により、ネットワーク上で送信されるデータ量が削減され、パフォーマンスが向上します。ウェブサイトのアクセス速度。以下に示すように、Nginx の gzip コマンドを使用して Gzip 圧縮を有効にすることができます:

http {
    gzip on;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}
ログイン後にコピー

3. スケジューリング アルゴリズムの構成

Nginx をロード バランサーとして使用する場合、スケジューリング アルゴリズムの構成も重要ですタスク。 Nginx は、ラウンド ロビン、最小接続、IP ハッシュなどのさまざまなスケジューリング アルゴリズムを提供します。以下に示すように、Nginx のアップストリーム ブロックを使用してスケジューリング アルゴリズムを構成できます:

http {
    upstream backend {
        server backend1;
        server backend2;
        
        # 使用IP Hash调度算法
        ip_hash;
    }
}
ログイン後にコピー

3. Nginx のログ管理

クラウド環境では、ログ管理も非常に重要です。 Nginx は、access_log、error_log などを含むさまざまなログ オプションを提供します。これらのログ オプションを使用して、サーバー アクセス、エラー メッセージなどを記録できます。ここでは、一般的に使用されるログ オプションをいくつか示します。

1.access_log

access_log は、各リクエストのアクセス状況を記録するログ オプションです。以下に示すように、Nginx の access_log ディレクティブを使用してアクセス ログを有効にすることができます。

http {
    access_log /var/log/nginx/access.log;
}
ログイン後にコピー

2.error_log

error_log は、エラー情報を記録するためのログ オプションです。以下に示すように、Nginx の error_log コマンドを使用してエラー ログを有効にすることができます:

http {
    error_log /var/log/nginx/error.log;
}
ログイン後にコピー

3. ログの切断

ログ ファイルが大きすぎる場合は、Nginx のログ切断機能を使用してログ ファイルを分割できます。ログ ファイルを管理しやすくします。以下に示すように、logrotate ツールを使用してログ ファイルを定期的に切り取ることができます。

/var/log/nginx/*.log {
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 0640 nginx root
    sharedscripts
    postrotate
        /usr/sbin/nginx -s reopen
    endscript
}
ログイン後にコピー

上記は、クラウド環境での Nginx の安全な展開とメンテナンス方法の紹介です。もちろん、セキュリティ構成、パフォーマンスの最適化、ログ管理方法は他にもたくさんあり、実際の状況に応じて構成および最適化する必要があります。この記事が皆様のお役に立てれば幸いです。

以上がクラウド環境での Nginx の安全な導入とメンテナンスの詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Nginxバージョンを確認する方法 Nginxバージョンを確認する方法 Apr 14, 2025 am 11:57 AM

nginxバージョンを照会できるメソッドは次のとおりです。nginx-vコマンドを使用します。 nginx.confファイルでバージョンディレクティブを表示します。 nginxエラーページを開き、ページタイトルを表示します。

nginxでクラウドサーバードメイン名を構成する方法 nginxでクラウドサーバードメイン名を構成する方法 Apr 14, 2025 pm 12:18 PM

クラウドサーバーでnginxドメイン名を構成する方法:クラウドサーバーのパブリックIPアドレスを指すレコードを作成します。 NGINX構成ファイルに仮想ホストブロックを追加し、リスニングポート、ドメイン名、およびWebサイトルートディレクトリを指定します。 nginxを再起動して変更を適用します。ドメイン名のテスト構成にアクセスします。その他のメモ:SSL証明書をインストールしてHTTPSを有効にし、ファイアウォールがポート80トラフィックを許可し、DNS解像度が有効になることを確認します。

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などのサードパーティツールを使用します。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

nginxサーバーを開始する方法 nginxサーバーを開始する方法 Apr 14, 2025 pm 12:27 PM

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

Windowsでnginxを構成する方法 Windowsでnginxを構成する方法 Apr 14, 2025 pm 12:57 PM

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

nginx apacheを実行する方法 nginx apacheを実行する方法 Apr 14, 2025 pm 12:33 PM

nginxをApacheを実行するには、次のことが必要です。1。nginxとapacheをインストールします。 2。nginxエージェントを構成します。 3。nginxとapacheを起動します。 4.構成をテストして、ドメイン名にアクセスした後にApacheコンテンツを確認できることを確認します。さらに、ポート番号マッチング、仮想ホスト構成、SSL/TLS設定など、他の問題に注意を払う必要があります。

Docker用のコンテナを作成する方法 Docker用のコンテナを作成する方法 Apr 15, 2025 pm 12:18 PM

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

See all articles