バックエンドの設定

以前、リバースプロキシを立てましたが、

Nginxでリバースプロキシ

このままではバックエンドのWebサーバのログにはリモートホストのアドレスが
すべてプロキシサーバのアドレスになってしまいます。



1)バックエンドがApacheの場合

mod_rpaf」を導入し、
リモートホストの値を「HTTP_X_FORWARDED_FOR」の値に上書きします。

apxsコマンドが必要なので、

# apt-get apache2-dev

CentOS系はyumでインストールします。

ソースはここからダウンロードします。
http://stderr.net/apache/rpaf/

# wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
# tar zxfv mod_rpaf-0.6.tar.gz
# cd mod_rpaf-0.6

さてコンパイル&インストール
1.3系

# apxs -i -a -c mod_rpaf.c

2.0系

# apxs2 -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

リバースプロキシのIPアドレス:192.168.100.80
httpd.confに書いてもいいのですが、わかりやすいように別にしました。

# vi /etc/httpd/conf.d/rpaf.conf

LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname off
RPAFproxy_ips 192.168.100.80

 

# /etc/init.d/httpd restart


2)バックエンドがLighttpdの場合

こっちはいたって簡単で、
モジュール「mod_extforward」と
リバースプロキシのIPアドレス:192.168.100.80
を有効にします。

# vi /etc/lighttpd/lighttpd.conf

server.modules              = (

            "mod_extforward", #リバースプロキシ用追加

)

extforward.forwarder = ("192.168.100.80" => "trust")

備考
IPv6が有効の場合、”::ffff:192.168.100.80“となります。


3)バックエンドがnginxの場合

http://wiki.nginx.org/HttpRealIpModule
set_real_ip_from
real_ip_header

を使って設定します。

# vi /etc/nginx.conf

http {

        set_real_ip_from   192.168.100.80;
        real_ip_header     X-Real-IP;

}

いろんなバックエンドが動いてるなぁ
Apacheが一番メモリを食うな。

[tegaki]さて、バックエンド増やすか[/tegaki]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Enter code * Time limit is exhausted. Please reload CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください