- http://heartbeats.jp/hbblog/2012/03/mod-rpaf.html
- http://d.hatena.ne.jp/hogem/20090622/1245675445
- http://stderr.net/apache/rpaf/
- https://github.com/ttkzw/mod_rpaf-0.6
reverse proxy 配下にapache + mod_rpaf を使っている状況で、以前はmod_rpaf で書き換えたクライアント(reverse proxyではない) のIPでアクセス制御が出来たと記憶していたが、はてぶで出来なかったとコメントもらった。
実際に最新のdebian / apache をsource から入れたところ、確かにクライアントのIPでアクセス制御できなかった。悩んでいてしばらく放置していたけど、ハートビーツの中の人の記事を読んで解決した。
結論: ipv6が有効な状態でbuildしたhttpdと本家のmod_rpaf (2008年で更新止まってる) を使うと、クライアントのIPでアクセス制御が出来ない。
というわけでこのあたりが修正されてgithubに上げられているmod_rpaf を利用させてもらえば解決した。
ちなみにnginxの場合は標準モジュールのrealip moduleを使えば良い。
./configure --with-http_realip_module
- nginx.conf
set_real_ip_from 127.0.0.1; set_real_ip_from 192.168.0.1/24; real_ip_header X-Forwarded-For;