Google Chromeのデータセーバー機能は透過プロキシとして動作し、Googleの所有する IPアドレスからアクセスされるのだが、サーバ側でリバースプロキシを構築していると、 多段串を使ってアクセスしてるかのような状態になる。
NginxとApacheの間で、リバースプロキシ環境を構築化でクライアントのIPアドレスを
伝える仕組みとして、Apache側に mod_rpaf
を入れて、Nginx側でリクエストヘッダ
を調整する方法があるのだけれども、データセーバーを使われてしまうと、Apache側
では、GoogleのProxyアクセスのIPアドレスが記録されてしまう。
困ったことに、GeoIPで逆引きすると、 JP
ではなくて、 AP
と取得されてしまう
ので、GeoIPを使ったアクセス制限に支障をきたす。
よって、データセーバーが使われてもGoogleのIPではなく端末のIPをバックエンドに 伝える仕組みを用意する必要がある。