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