Nginx応用編③リバースプロキシとして動かす(後編)。Linuxサーバ構築手順まとめ


Nginxをリバースプロキシとして動作させ、WebサーバApacheと連携させます。Linuxサーバ構築手順まとめ

リバースプロキシNginxの設定をしてみよう。

本連載では、Linux上で様々なサーバソフトウェアのインストール手順、操作・設定方法を解説していきます。
嵌まりそうなポイントや細かい部分の説明していきます。Linuxでサーバ構築する際の参考にして下さいね。

今回はNginx応用編第3回です。
Nginxの特徴的な機能の1つとして「リバースプロキシ」として動作するという機能があります。
前回はリバースプロキシとしてNginxを動作させるところまでを設定しました。
しかし前回のリバースプロキシの設定では、Apacheのアクセスログで、アクセス元のIPアドレスが全て「127.0.0.1」になってしまっていました。つまり、全てのアクセスがNginxからのアクセスになっているので、アクセスログには本来アクセスのあったIPアドレスが保存できていない状態です。
今回は、本来のアクセス元IPアドレスをログに出力する方法を見ていきます。

mod_rpafの追加

アクセス元のIPアドレスをログに出力するために、Apacheのモジュール「mod_rpaf」が必要になります。mod_rpafをインストールし、アクセスログを確認していきましょう。

# cd /usr/local/src
# mkdir mod_rpaf-0.6
# cd mod_rpaf-0.6
# wget https://raw.github.com/ttkzw/mod_rpaf-0.6/master/mod_rpaf-2.0.c
# apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

apxsコマンドは「APache eXtenSion」の略で、Apacheモジュールを動的に追加する際に使用するコマンドです。オプションの意味としては、
i:インストール
c:コンパイル(.soファイルが生成される)
n:モジュール名の指定
です。
これによってmod_rpaf.soができるはずです。

# ls /etc/httpd/modules

→モジュール「mod_rpaf.so」が追加されていることを確認しましょう。

次に、mod_rpaf用の設定ファイルを作成します。

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

下記の内容を記述し、保存します。
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1
RPAFheader X-Forwarded-For

最後にApacheを再起動します。

# service httpd stop
# service httpd start

これでインストールは完了です。
ブラウザからアクセスし、アクセスログを確認してみましょう。

192.168.1.162 - - [19/Jan/2015:12:00:35 +0900] "GET / HTTP/1.0" 200 79

アクセス元のIPアドレスが127.0.0.1ではなくなっていることがわかります。

今回のまとめ

今回はNginxをリバースプロキシとして動作させた際の設定について説明しました。
Apacheとの連携が必要になってくる点がポイントで、Apacheのモジュール追加方法がわかっているとすんなりできますが、「apxs」は使ったことがないとちょっと分かりづらいでしょう。
他のモジュール追加にも使えるので、この機会に覚えておきましょう。

  • このエントリーをはてなブックマークに追加

PAGE TOP