classics.

2010/02/22 Monflickr

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っぽかったら成功のようです。

Trackbacks

Comments

Comment form