omniauth をセットアップしています (Facebook プロバイダーを今のところ機能させようとしています)。
ポートで nginx を実行しているローカル コンピューターにいます80
。すべてのリクエストをポートにルーティングし8080
、デフォルトの Webrick サーバーを で実行します8080
。
私は omniauth をかなり遠くまでセットアップしましたが、今では特定の場合にのみスムーズに動作します。
ブラウザがヒットhttp://localhost/auth/facebook
すると、次のようなエラーが表示されます。
URI::InvalidURIError, the scheme http does not accept registry part: app_server (or bad hostname?)
ただしhttp://localhost:8080/auth/facebook
、 をクリックすると、facebook から のようなエラー メッセージが表示されますInvalid redirect_uri: Given URL is not allowed by the Application configuration."
。http://localhost
サイトの URL がnotに設定されているため、これは理にかなっていhttp://localhost:8080
ます。
サイトの URLhttp://localhost:8080
を
ところで、問題を引き起こしているのは localhost だけではありません。/etc/hosts を編集して試してみるとdev.example.com
、同じように動作し、動作せdev.example.com
ず、動作しませんdev.example.com:8080
。
だけで動作させられないのはなぜlocalhost
ですか? nginx と webrick が互いに通信する方法に何か問題がありますか? それが問題になるとは想像できませんが、機能するものと機能しないものに見られる唯一の違いです. URI エラーが発生する理由はありますか?