検証環境にアクセスしたいのに本番環境にリダイレクトされて悩みましたというお話
検証環境でミドルウェアのアップデートをしました。
特にエラーもなくスムーズに完了。
動作確認をしようとブラウザでアクセスするとURLが本番環境のものになってしまう現象が発生。
何か間違えてしまったかと慌てて確認しましたが、本番環境は特に問題無し。
検証環境へのアクセスが本番環境にリダイレクトされているようです。
とりあえず調査を開始。
NGINXのconfを確認してもそんな記述はありませんでした。
アクセスログを確認すると200ステータス無しで302リダイレクトが発生しています。
プラグインのせいかと一つずつ停止⇒確認を繰り返しましたが改善せず。
Azure側の設定なのかと調査するもさっぱりわからず。
不思議なのが「検証.hoge」にアクセスすると「本番.hoge」にリダイレクトされるのに、
「検証.hoge/aaaaaaa」みたいに存在しないURLにすると「検証.hoge」の404ページが表示されます。
原因発見
試行錯誤しているうちに解決することができました。
解決に至ったのが管理画面へのアクセス。
「検証.hoge/wp-admin/」にアクセスすると「本番.hoge/wp-login.php」にリダイレクトされます。
なら「検証.hoge/wp-login.php」はどうだと試してみるとアクセスできました!
やったぜ!と思ってログインしようとすると「本番.hoge/wp-login.php」にリダイレクトされてエラー表示。。。
もう一歩のようなので気合いをいれて細かくチェックします。
ログイン画面のソースをよくよく確認すると「検証.hoge/wp-login.php」のFormのactionが「本番.hoge」になっています。
なぜなぜ?となってDB周りを調べるとFQDNの置換がされていなかったという。。。
本番から検証にDBデータを移行する際に置換されていなかったため意味不明なリダイレクトが発生していたようです。
んもう!
下記コマンドを実施して無事アクセスできるようになりました。
# wp search-replace '://本番.hoge' '://検証.hoge'
次から気をつけます。
コメント