web-dev-qa-db-ja.com

リバースプロキシを使用してログインフラッディングを防ぐ

Settings.phpで$conf['reverse_proxy'] = TRUE;を設定しましたが、フラッドテーブルに記録されるIPアドレスは127.0.0.1であり、X-Forwarded-Forヘッダーを介して渡されたものではありません。 Nginxは、X-Forwarded-ForヘッダーをApacheに送信するように構成されていますが、Drupalはそれを認識していません。

失敗したログインがいくつかあるため、全員がロックアウトされる可能性があるため、これはかなり悪いことです。

Drupal X-Forwarded-Forヘッダー内で渡されたIPを使用するにはどうすればよいですか?

1
Chris Muench

Settings.phpでオプションを設定し、プロキシIPを配置します。

// Reverse proxy support to make sure the real IP gets logged by Drupal.
$conf['reverse_proxy'] = TRUE;
$conf['reverse_proxy_addresses'] = array('127.0.0.1');
$conf['reverse_proxy_header'] = 'HTTP_X_FORWARDED_FOR';
1
SebaZ

$conf['reverse_proxy_addresses'] = array('a.b.c.d', ...);の部分を編集して、リバースプロキシアドレス(127.0.0.1)のアドレスを入力する必要がありました。

1
Chris Muench