web-dev-qa-db-ja.com

Wordpress wp-adminリダイレクトループの背後にあるIIS ARRリバースプロキシ

私が言えることから、興味深い問題を抱えて、少しユニークで興味深いセットアップが行われています。 website.comをホストするメインWebサーバーとしてWindowsServer2012ボックスがあります。 http://website.com/sites/ ARRを使用してリバースプロキシを設定し、すべてをWordpress WPMUをApacheを実行しているDebianボックスにインストールする)に戻します。 。リライトルールの設定は次のとおりです。

enter image description here

これで、すべてが正常に機能しますが、1つ混乱するのは、リバースプロキシを介してwp-admin /ページに移動すると、リダイレクトループが発生することです。

enter image description here

私が説明していることを正確にするために、ここに私の 。htaccessファイル と私の wp-config.phpファイル (明らかなものは省略)があります。

私が興味深いと思うのは、ドメインをDebian IPアドレスにポイントするようにローカルホストファイルを変更し、IIS ARRをバイパスすると、wp-admin /は問題なく正常に機能することです。私の問題はIISとApacheの間の変換のどこかにあるようです?これをさらに調べてデバッグする方法がわからなくなっています。

どんな助けでも大歓迎です!

3
Chiggins

HostヘッダーがARRによって変更されたために発生する可能性があります。

GET http://10.48.100.27/ HTTP/1.1
Host: 10.48.100.27

HTTP/1.1 301 Moved Permanently
Location: http://example.com/

preserveHostHeader設定を使用して、ヘッダーを変更しないでください。

https://stackoverflow.com/a/7180527/991267

1
Der_Meister

正規表現がApacheの書き換えエンジンによって混乱しているのではないかと思います。 .htaccessファイルを無効にして、代わりに「.../wp-admin /」の実際のファイルに「.../wp-admin/admin.php」としてアクセスしてみましたか?

0
radiks32

これを解決するための方法論には、実際の問題を特定することが含まれます。

セキュリティ要件のために必要に応じて、テストネットワークまたはステージングネットワークで、管理サイトのhttpsを一時的に無効にします。

次に、IIS/ARRホストまたはApacheホストからの関連トラフィックをスニッフィングして、管理ページを呼び出したときにホスト間で実際に何が発生するかを確認します。クライアントとIIS、およびクライアントとApacheの間のトラフィックのダンプを制御することもおそらく役立ちます。お気に入りのスニファを使用してください。それ以外の場合は、Windowsの場合は Wireshark または tcpdump Linuxの場合。

リダイレクトの問題、正規表現のURL解釈の問題、またはその他の問題があるかどうかをすぐに確認できると確信しています。もちろん、解決策は実際に見つけたものによって異なります。

これは、リバースプロキシの奇妙さをデバッグするために私が知っている最良の方法です。これは、問題の範囲を広げる推測ではなく、問題の範囲を狭める事実を処理するためです。

分析の助けを得るために、2つのフィルタリングされたパケットダンプを投稿します。1つはIISリバースプロキシを通過するためのもので、もう1つはApacheに直接接続するためのものです。違いが強調されています。

0
ErikE