mod_extract_forwardedをCentOS 5に入れたメモ
先日、うちのサーバー構成を、しょぼいノートPCのwebサーバーをフロントに置いてたのを、無駄に置いてあったML115なんかと交換して、しかし kichikutter とかの移転がめんどいので、大体 mod_proxy で元のノートPCサーバーに送ってる感じにしました。
もうあまりCentOSは好きじゃないのですが、そんな経緯で、ブログのスパムブロックが正常に動くように mod_extract_forwarded を入れたので、CentOS用のそれっぽいのがすぐ見つからなかったしメモっておきます。apacheは2.2。
apxs入ってなかったら入れる
# yum install httpd-devel
mod_extract_forwarded 落として解凍
# wget http://www.openinfo.co.uk/apache/extract_forwarded-2.0.2.tar.gz # tar zxvf extract_forwarded-2.0.2.tar.gz # cd extract_forwarded/
パッチ当てる(今も有効なのかよくわかってない)
# vi extract_forwarded.patch
--- mod_extract_forwarded.c.orig 2004-03-09 00:27:36.000000000 +0900 +++ mod_extract_forwarded.c 2007-04-18 10:27:08.945045803 +0900 @@ -758,7 +758,7 @@ { if (conf->debug == MEF_DEBUG_ON) { - fprintf(stderr,"MEF: phase:%s, $s not acceptabler proxy, %s\n", + fprintf(stderr,"MEF: phase:%s, %s not acceptabler proxy, %s\n", phase, conn->remote_ip, r->unparsed_uri); fflush(stderr); } @@ -925,6 +925,9 @@ * spoof one) is added to the X-Forwarded-For header. */ static int mef_before_proxy_http(request_rec *r, +#if AP_SERVER_MINORVERSION_NUMBER >= 2 + proxy_worker *worker, +#endif proxy_server_conf *pconf, char *url, const char *proxyname, apr_port_t proxyport)
(from mod_rpaf のかわりに mod_extract_forwarded なるものがあるらしい - daily dayflower)
# patch < extract_forwarded.patch
インストール
# /usr/sbin/apxs -c -i -a mod_extract_forwarded.c
有効にしてapache再起動
# vi /etc/httpd/conf.d/extract_forward.conf
MEForder refuse,accept MEFrefuse all MEFaccept 192.168.1.XXX # mod_proxy使ってるサーバーのIPアドレス
# /etc/init.d/httpd restart
これで、apacheのログ見てIPアドレスが外のIPっぽかったら成功のようです。
Comments