今日の車掌
電車混雑の為二分程の遅れがでています、あらかじめ御了承下さい。だと。目茶苦茶なダイヤ組んでいて混むのは客のせいだとさ、>けーおーさん
ていうか普段も遅れると車内アナウンスで謝るけどやっぱ口先だけなのね、ま、それもそっか。
電車混雑の為二分程の遅れがでています、あらかじめ御了承下さい。だと。目茶苦茶なダイヤ組んでいて混むのは客のせいだとさ、>けーおーさん
ていうか普段も遅れると車内アナウンスで謝るけどやっぱ口先だけなのね、ま、それもそっか。
うちはZopeをapacheの裏でproxyを使って動かしています。そうするとzopeのログにはproxyサーバ側のIPが残ってしまいます。これは皆さん既知のことで有名だと思います。
さてそれをちゃんと生IPをz2.logに残そうとするとちょっと大変。というかapache2だとこのあたり標準で実装されているらしいのでいまさらのトピックなんだけどCubeDeZopeさんが大変なことになっていてこのあたりの貴重な資料がみることができない!
それではじめて自分の日記に残そうと思いました。
いろいろまえから情報は集めていてmo_ip_forwardingというモジュールを使えばいいということはわかっていました。
http://dev.w3.org/cvsweb//apache-modules/mod_ip_forwarding/
ドキュメント:http://dev.w3.org/cvsweb/apache-modules/mod_ip_forwarding/mod_ip_forwarding.html?rev=1.3
インストールはドキュメントにあるとおり(手抜き)、というか英語苦手きらいなんで誤読している可能性あり。まあとにかくソースからもってきてコンパイルする。
バイナリのapacheを使っている人は後あたりから
The following is a tip contributed by Paul Roe. Thanks!
後あたりから書いてあることを参照してとにかくmod_ip_forwardingモジュールを読ませてあげる。
今回はapacheダブルの構成だった(zopeではないです、すみません)ので前段サーバ、後段サーバ両方にmod_ip_forwardingを組み込ませた。confで
LoadModule w3c_ip_forwarding_module modules/mod_ip_forwarding.so
AddModule mod_ip_forwarding.c
を追加(もしかしたらいらない?)
前段サーバの飛ばしたいVirtualHostの設定項目に
ForwardClientIPAddress On
を追加。
後段サーバ、受け側には
AcceptForwardedClientIPAddress On
AuthorizedProxies xxx.xxx.xxx.xxx (xxxには前段サーバのIP)
こんな感じで両サーバのapacheをリスタートさせてみる。
。。。。まあ、できたかな?。。。。
ちなみに私は結構はまったので備忘録してみました。
zopeとの連携はいずれやってみます。
その後、Zopeへの連携
CubeDeZopeさんのGoogleキャッシュから拾ってきまして
lib/python/ZServer/medusa/http_serever.pyのなか
def log(self,byte)のなか
self.channel.addr[0], を
self.get_header('x_fwd_ip_addr'),
に書き換え。apacheを再起動。
どうやらIPを引き継いできているようです。
おちとしてはログをtailでみていると本来ipがはいるところが"None"と
表示されたりする。????と思ったが考えてみればVirtualHostを
しているサイトの設定にすべて"ForwardClientIPAddress On"しなければ
"None"となってしまう(あたりまえ)。
で、あわててhttpd.confを書き直しました。とさ。
#Clip & Scrapさま書き足しました。
http://itbtech.itboost.co.jp/inst/inst_08.php
が非常に参考になりました。
ただVine3.1にインストールする場合h_errnoとかerrorno関連のエラーがでた。
これはerror.hというファイルの中
extern int errno;
行を
#include <errno.h>
に置き換えた。
また、ucspi-tcp,checkpasswordにも同じ修正が必要でした。
あとつまらないことですが各アカウントに.qmailというファイルが必要なんですがこの内容を私は
./Maildir
としており非常にはまりました。正しくは./Maildir/です。
スラッシュ忘れに気をつけよう。
俺だけか。