プロキシを挟むと、アプリから見た接続元は全員プロキシ。元の IP はプロキシがヘッダーに書き足し、アプリは、自分のプロキシが足した分だけ読むアプリから見た接続元は、いつもプロキシ元の IP はヘッダーで受け取り、自分のプロキシが足した分だけ信じる利用者 A利用者 BA を名乗りたいリバースプロキシ頼みを受け、裏のアプリへ中継するアプリ元の IP をヘッダーに足すB の頼みが、アプリに届いたときアプリから見た接続元プロキシA の頼みも、B の頼みも同じX-Forwarded-ForA さんの IPB が自分で書いた。信じないB さんの IP自分のプロキシが足した。これを読むどこを見て、制限するか読む所起きること接続元をそのまま全員がプロキシに見え、制限も記録も効かないヘッダーを全部好きな IP を名乗れて、制限を外せる自分のプロキシが足した分だけ元の IP で、制限と記録が効くプロキシを挟むと、アプリから見た接続元は全員プロキシ。元の IP はプロキシがヘッダーに書き足し、アプリは、自分のプロキシが足した分だけ読むプロキシを挟むと、アプリから見た接続元は全員プロキシ。元の IP はプロキシがヘッダーに書き足し、アプリは、自分のプロキシが足した分だけ読むアプリから見た接続元は、いつもプロキシ元の IP はヘッダーで受け取り、自分のプロキシが足した分だけ信じる利用者 A利用者 BA を名乗りたいリバースプロキシ頼みを受け、裏のアプリへ中継する元の IP をヘッダーに足すアプリB の頼みが、アプリに届いたときアプリから見た接続元プロキシA の頼みも、B の頼みも同じX-Forwarded-ForA さんの IPB が自分で書いた。信じないB さんの IP自分のプロキシが足した。これを読むどこを見て、制限するか読む所起きること接続元をそのまま全員がプロキシに見え、制限も記録も効かないヘッダーを全部好きな IP を名乗れて、制限を外せる自分のプロキシが足した分だけ元の IP で、制限と記録が効くプロキシを挟むと、アプリから見た接続元は全員プロキシ。元の IP はプロキシがヘッダーに書き足し、アプリは、自分のプロキシが足した分だけ読む
置いた瞬間に 1 つ壊れるものがあります。送信元の IP アドレスです。中継しているのはプロキシなので、アプリから見える接続元は全部プロキシになります。アクセス制限も、回数制限も、記録も、全員が同じ相手に見えて機能しません。
対策は決まっていて、プロキシが元の IP をヘッダー (X-Forwarded-For がよく使われます) に書き足し、アプリはそちらを読みます。ただしヘッダーは送る側が自由に書けるので、外から来た値をそのまま信じてはいけません。自分のプロキシが付けた分だけを採用する、という設定が要ります。ここを省くと、制限を外したい人が好きな IP を名乗れます。