ホームページ  >  記事  >  運用・保守  >  WordPress/PHP Web サイトのセキュリティを保護するために Nginx を構成する方法

WordPress/PHP Web サイトのセキュリティを保護するために Nginx を構成する方法

王林
王林オリジナル
2023-06-11 10:30:121670ブラウズ

Nginx は人気のある Web サーバーであり、高パフォーマンス、低消費電力、強力な同時実行性という特徴を備えているだけでなく、リバース プロキシ、ロード バランシング、HTTPS などの多くの機能の構成もサポートしています。 WordPress/PHP Web サイトの場合、セキュリティ保護のために Nginx 構成を使用する方法は非常に重要です。この記事では、WordPress/PHP Web サイトのセキュリティを確保するための Nginx の設定方法をいくつか紹介します。

  1. リバース プロキシの構成

リバース プロキシとは、クライアントの要求を内部サーバーに転送することを指し、内部サーバーはクライアントに応答を返します。リバースプロキシを使用すると、内部サーバーの実際の IP アドレスを隠すことができ、サーバーを保護するという目的を達成できます。 Nginx では、次に示すように、proxy_pass ディレクティブを使用してリバース プロキシを構成できます。

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

上記の構成では、リバース プロキシ サーバーのアドレスは http://127.0.0.1:8080 です。 $host はクライアントを表し、要求されたドメイン名 $remote_addr はクライアントの実際の IP アドレスを表します。

  1. 制限付き IP アクセスの構成

制限付き IP アクセスを構成すると、特定の IP または IP セグメントへのアクセスを制御して、サーバーを不正なアクセスから保護できます。 Nginx では、以下に示すように、許可ディレクティブと拒否ディレクティブを使用して IP アクセス制御を構成できます。

location / {
    deny 192.168.1.1;
    allow all;
}

上記の構成は、IP アドレス 192.168.1.1 によるアクセス要求を拒否し、他の IP アドレスからのアクセス要求を許可します。 。カンマを使用して、複数の IP アドレスまたは IP セグメントを区切ることができます。

  1. HTTPS の構成

HTTPS を構成すると、送信データを暗号化できるため、送信中のデータの盗難や改ざんを防ぐことができます。 Nginx では、次のように ssl_certificate および ssl_certificate_key 命令を使用して HTTPS を構成できます。

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /path/to/yourdomain.crt;
    ssl_certificate_key /path/to/yourdomain.key;

    location / {
        ...
    }
}

上記の構成では、/path/to/yourdomain.crt および /path/to/yourdomain.key が SSL です。証明書と秘密キーへのパス。

  1. アンチホットリンクの構成

アンチホットリンクを構成すると、他の Web サイトが直接リンクを通じてこのサイトの画像やリソースを表示するのを防ぎ、リソースを違法な使用から保護できます。 Nginx では、以下に示すように、valid_referers ディレクティブを使用してアンチホットリンクを構成できます。

location /images/ {
    valid_referers none blocked yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

上記の構成では、/images/ は保護されるリソース パスであり、valid_referers は有効なソースを指定するために使用されます。ドメイン名、および none はそれを使用しないことを意味します。ドメイン名の制限、ブロックはすべての違法なソースを拒否することを意味し、yourdomain.com はこのドメイン名のソースからのアクセスを許可することを意味します。要求されたオリジンが有効なオリジン リストにない場合、403 エラーが返されます。

  1. キャッシュの構成

キャッシュを構成すると、サーバーの負荷が軽減され、Web サイトのアクセス速度が向上し、サーバーがダウンしたときの Web サイトのアクセシビリティを維持できます。ダウンしています。 Nginx では、以下に示すように、proxy_cache_path ディレクティブを使用してキャッシュを構成できます。

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;

location / {
    proxy_cache my_cache;
    proxy_cache_valid 200 60m;
    proxy_cache_valid 404 1m;
}

上記の構成では、/var/cache/nginx はキャッシュ パスであり、levels=1:2 は階層構造を示します。キャッシュ パスのレベル。keys_zone=my_cache:10m はキャッシュ記憶域として my_cache を使用することを意味し、サイズは 10M、inactive=60m はキャッシュが 60 分後にクリアされることを意味します。 proxy_cache ディレクティブはキャッシュを有効にするために使用され、proxy_cache_valid ディレクティブはキャッシュ時間を設定するために使用されます。

概要

上記の 5 つの Nginx 構成方法を通じて、WordPress/PHP Web サイトのセキュリティを効果的に保護できます。リバース プロキシはサーバーの実際の IP アドレスを隠し、IP アクセスを制限するとサーバーへのアクセス権を制御でき、HTTPS はデータ送信を暗号化し、アンチリーチングはリソースを不正使用から保護し、キャッシュはアクセス速度とアクセスしやすさを向上させます。 Webサイト。もちろん、これらの設定方法で Web サイトのセキュリティを完全に保証できるわけではなく、パスワード保護やファイルのアクセス許可など、他のセキュリティの問題にも注意する必要があります。

以上がWordPress/PHP Web サイトのセキュリティを保護するために Nginx を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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