ここではNginx1.2.4Webサーバーを実行していますが、ddos攻撃を防ぐためにホスティング業者のプロキシの背後にいます。このプロキシの背後にあることの欠点は、追加のヘッダーからREALIP情報を取得する必要があることです。$_SERVER[HTTP_X_REAL_IP]
PHPでは、たとえば実行することでうまく機能します。
ホスティング業者のこのプロキシの背後にいる前に、これを行うことで特定のIPをブロックする非常に効果的な方法がinclude /etc/nginx/block.conf
ありました。そこでIPを許可/拒否します。
しかし、プロキシが原因で、Nginxはすべてのトラフィックが1つのIPから送信されていることを確認します。
Nginxをで構成し--with-http_realip_module
たので、実際のIPを人々から取得できるようになります。
私のnginx.confに追加しました:
real_ip_header X-Forwarded-For;
include blockips.conf;
私も試しました:
real_ip_header X-Real-IP;
include blockips.conf;
どちらの場合も、blockips.confにリストされているIPはブロックされていません。また、ログファイルには実際のIPは表示されませんが、プロキシIPのみが表示されます。
私は何が間違っているのですか?