これは私の環境設定です:
したがって、ユーザーリクエストは最初にCloudflareに進み、次にサーバーB、次にサーバーAに行きます。
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
サーバーBにもCloudflare wordpressプラグインをインストールしましたが、WordpressはユーザーIPアドレスではなくサーバーBのIPアドレスを取得し、Cloudflare IPアドレスを発信元IPとして検出します。 :(
Proxy Real IP をインストールすると、サーバーBのIPアドレスが実際のユーザーIPではなくCloudflare IPアドレスに変更されます。
Wordpressの最後に実際のユーザーIPアドレスを取得するためのヘルプはありますか?
複数のプロキシが関係し、それらがすべてX-Forwarded-For
をサポートする場合、それぞれに値が追加されます。 Cloudflareはドキュメントでこれを述べています 。
Nginxからこの動作を取得するには、 real_ip_recursive オプションを設定する必要があるようです。
したがって、WordPress側では、ユーザーの実際のIPアドレスは通常、X-Forwarded-For
ヘッダーのコンマ区切り値リストの最初のIPアドレスになります。
WordPressヘッダーは、「正規表現」を使用してそのフィールドのIPアドレスと一致することを示していますが、そのフィールドの複数の値を処理できることを示していません。複数の値がある場合、プラグインのコードを更新して適切に動作する必要がある場合があります。