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 エラーが発生する理由はありますか?