サーバー

nginxで訪問者のIPをリバースプロキシから後ろのサーバーへ渡す設定

自サーバーをいじっていたら休みが終わってました。コンバンハころすけ(@wg_koro)です。

nginx

このWordPressはnginxfastcgiの組み合わせで動いています。で、今日、コメントをつけてくれた方々などのIPが正確に記録できていないのに気づきました。全部ローカルホスト(127.0.0.1)になっちゃってる…。

そういえばIPを後ろのサーバーに渡す設定していなかったや。というわけで設定ファイルの修正となりました。

まずはリバースプロキシ側。

[plain light=”true”]
server {
#(省略)

# ヘッダーに色々付与してあげる
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;

#(以下省略)
[/plain]

続いてサーバー側の設定。

[plain light=”true”]
server {
#(省略)

# リバースプロキシ側でセットしたヘッダーを読むように修正
set_real_ip_from 127.0.0.1;
real_ip_header X-Real-IP;

#(以下略)
[/plain]

これでnginxを再起動すればOK。

そういえば先日nginxを入れ直した際、最新バージョンの1.2.2を入れたんですが途中で「ExtUtils::Embed」が無いよ、と怒られました。以前入れていたのは1.0.xだったんですが、これ必要だったっけかな?

まぁ、下記コマンド一発で入ったので問題無しですが。
$ sudo yum install perl-ExtUtils-Embed

nginxは動作が軽くていいですね。これからは「サーバーは当然nginx」なんて感じになっていくんだろうなぁ。

Facebook / 広告
2012年08月13日 | Posted in サーバーNo Comments » 

関連記事

コメントを残す

メールアドレスが公開されることはありません。

スパム対策のため、コメントする際は下記の計算式を埋めてください。 計算式の有効期限が切れました。計算式の隣にある再読み込みボタンを押してください。