ApacheでVarnish 3を設定していて、問題なく動作しています。しかし、私はクライアントIPをApacheログに記録することができません。私はいくつかのソリューションを運のない周りにグーグルで試してみました。今、私のApacheアクセスログファイルは、クライアントIPアドレスの代わりにサーバーIPを記録しています。ここでクライアントIPがApacheログにログインしていない
はあなたの親切な配慮のための私の設定です:
ワニスVCL:(/etc/varnish/default.vlc):http://pastebin.com/PuBqZ6fx
Apacheのコンフィグ
は/ etc/httpdの/ confに/ httpdの.conf
LogFormat "%{X転送する}"%l%u%t \ "%r \"%s \ "%Referer} \" \ "%{ユーザーエージェント}私は "varnishcombined
Apacheバーチャルホスト
......他のスタッフ..... のErrorLogログ/ FR-エラーログ のCustomLogログ/ FR-カスタムログがvarnishcombined ......その他の項目.....
注:インストールニスバージョンはワニス3.0.2-1.el5.x86_64
おかげです。 Raheel
上記のコードのコメントを外すと、$ _SERVER ["HTTP_X_FORWARDED_FOR"]に実際のクライアントIPアドレスが表示されますが、$ _SERVER ["REMOTE_ADDR"]は引き続きサーバーのIPアドレスを表示します。さらに、Apacheアクセスログファイルには依然として各要求のサーバーIPが表示されます。すべての手がかりは? –
私は解決策を見つけた後、RPAF Apache Moduleです。 http://www.amgeekblog.com/mod_rpaf-in-ubuntu-and-centos/。このモジュールを使用した後、私はApache Log FileとPHPの$ _SERVER ['REMOTE_ADDR']グローバル変数に適切なクライアントIPアドレスを取得します。ありがとう! –
クライアントIPが最初に来るべきではありませんか? (すなわち、 'client.ip +"、 "+ req.http.X-Forwarded-For') –