件名そのままですが、かなりハマったので忘れないうちにメモ。
事象
nginxでWordPressを動かしていて、Facebookアカウントでのログインを実装していたところ、リダイレクト処理でエラーになってしまう。
原因
確認するとリダイレクトURLに、なぜかポート番号が自動的に付加されていることが原因だと判明。(ポート番号を削除すれば正常に動く)
ネットワークの作成 - WordPress Codex 日本語版
このページはマルチサイト化の説明ページで、今回私はマルチサイトにはしていない。しかしポート番号の制約があるっぽい事が書かれているのは、これくらいだった。とにかくポート無しにすれば正常に動くので、その原因を調べる。
解決法
結論からいうと、nginxの設定が原因。この情報に辿り着くまで結構時間がかかってしまった。
nginx のリダイレクト時に URL にポート番号を含めないようにする port_in_redirect | ウェブル
server { port_in_redirect off; }
この設定を追加するだけで、あっさり解決しました。もし同じようにハマる人が今後いたら、少しでも参考になると幸いです。