リバースプロキシ
リバースプロキシ

○環境 (Debian etch)

静的コンテンツ(html,css,image,jsファイル等) は Apache 2.2 で 処理。
動的コンテンツ(CGI、Perl) は バックエンドのApache 1.3 + mod_perl で処理を行い、動作を高速化。

こんな感じの環境を構築しているのですが、mod_perlで動作しているプログラム中でIPアドレスとか取得すると、
当然というかlocalhostになってしまいます。

ブラウザ(外部アクセス) ← → Apache 2.2(gw) ← (☆) → Apache 1.3 (Backend/mod_perl)

ここ(☆印)のアクセスがApache1.3のアクセスログに記録される

そこで、実際の外部からのアクセスのあったIPアドレスを取得するにはProxy変数 X-Forwarded-For から取得するのですが、
プログラムの規模が大きいと書き換えるのも大変なのでサーバの設定で対応するといいみたいです。

More >

つぶやくつぶやく