Nginx は人気のある Web サーバーであり、高パフォーマンス、低消費電力、強力な同時実行性という特徴を備えているだけでなく、リバース プロキシ、ロード バランシング、HTTPS などの多くの機能の構成もサポートしています。 WordPress/PHP Web サイトの場合、セキュリティ保護のために Nginx 構成を使用する方法は非常に重要です。この記事では、WordPress/PHP Web サイトのセキュリティを確保するための Nginx の設定方法をいくつか紹介します。
リバース プロキシとは、クライアントの要求を内部サーバーに転送することを指し、内部サーバーはクライアントに応答を返します。リバースプロキシを使用すると、内部サーバーの実際の 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 アドレスを表します。
制限付き IP アクセスを構成すると、特定の IP または IP セグメントへのアクセスを制御して、サーバーを不正なアクセスから保護できます。 Nginx では、以下に示すように、許可ディレクティブと拒否ディレクティブを使用して IP アクセス制御を構成できます。
location / { deny 192.168.1.1; allow all; }
上記の構成は、IP アドレス 192.168.1.1 によるアクセス要求を拒否し、他の IP アドレスからのアクセス要求を許可します。 。カンマを使用して、複数の IP アドレスまたは IP セグメントを区切ることができます。
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 です。証明書と秘密キーへのパス。
アンチホットリンクを構成すると、他の Web サイトが直接リンクを通じてこのサイトの画像やリソースを表示するのを防ぎ、リソースを違法な使用から保護できます。 Nginx では、以下に示すように、valid_referers ディレクティブを使用してアンチホットリンクを構成できます。
location /images/ { valid_referers none blocked yourdomain.com; if ($invalid_referer) { return 403; } }
上記の構成では、/images/ は保護されるリソース パスであり、valid_referers は有効なソースを指定するために使用されます。ドメイン名、および none はそれを使用しないことを意味します。ドメイン名の制限、ブロックはすべての違法なソースを拒否することを意味し、yourdomain.com はこのドメイン名のソースからのアクセスを許可することを意味します。要求されたオリジンが有効なオリジン リストにない場合、403 エラーが返されます。
キャッシュを構成すると、サーバーの負荷が軽減され、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 サイトの他の関連記事を参照してください。