ワシはワシが育てる

週刊少年ジャンプと任天堂のゲームが三度のメシより好きです。

Unicorn+NginxでリバースプロキシしたときにFacebookのOAuthでつまづいた

RailsアプリをUnicornで動かし、Nginxをリバースプロキシとして前面に置く構成。

その際にFacebookのOAuthを利用すると「指定されたURLは、アプリケーションの設定で許可されていません。」というエラーメッセージが表示されてしまいました。

原因はリバースプロキシを使用した際にホスト名が引き継がれておらず、Facebook側に正しいURLが認識されていなかったためでした。
そこで対象のRailsアプリに該当するnginx設定ファイルに以下の行を挿入します。

proxy_set_header Host $http_host;

ローカルで動かしている時には生じない問題なので厄介ですね。