Назад | Перейти на главную страницу

Цикл перенаправления Wordpress wp-admin за обратным прокси-сервером IIS ARR

Насколько я могу судить, у меня происходит немного уникальной и интересной установки с интересной проблемой. У меня есть Windows Server 2012 в качестве основного веб-сервера, на котором размещается сайт website.com. В http://website.com/sites/ У меня есть установка обратного прокси с ARR, чтобы указать все обратно на установку Wordpress WPMU в окне Debian, на котором запущен Apache. Вот конфигурация правила перезаписи:

Теперь все работает правильно, но одна неприятность заключается в том, что если я перехожу на любую страницу wp-admin / через обратный прокси-сервер, я получаю цикл перенаправления:

Чтобы быть точным в том, что я описываю, вот мой файл .htaccess и мой файл wp-config.php (очевидные вещи опущены).

Что мне интересно, так это то, что если я изменю свой файл локальных хостов, чтобы указать мой домен на IP-адрес Debian и обойти IIS ARR, то wp-admin / работает нормально, без проблем. Просто кажется, что моя проблема где-то с переводом между IIS и Apache? Я не понимаю, что посмотреть и отладить это дальше.

Любая помощь будет очень признательна!

Возможно это происходит потому, что Хост заголовок изменен 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

Методология решения этой проблемы будет включать определение реальной проблемы.

Я бы временно отключил https для сайта администратора, в тестовой или промежуточной сети, если это необходимо из-за требований безопасности.

Затем я бы обнюхал соответствующий трафик с хоста IIS / ARR или с хоста Apache, чтобы увидеть, что на самом деле происходит между хостами, когда вы вызываете страницу администратора. Контрольные дампы для трафика между клиентом и IIS, а также между клиентом и Apache, вероятно, тоже помогают. Используйте свой любимый сниффер, иначе позвольте мне предложить Wireshark для Windows или tcpdump для Linux.

Я совершенно уверен, что вы быстро увидите, есть ли проблема с перенаправлением, проблема с интерпретацией URL-адреса регулярного выражения или что-то еще. Решение, конечно, будет зависеть от того, что вы на самом деле найдете.

Это лучший из известных мне способов отладки странностей обратного прокси, поскольку человек работает с фактами, которые сужают объем проблемы, а не с предположениями, расширяющими ее.

Чтобы получить помощь с анализом, я бы опубликовал два дампа отфильтрованных пакетов: один для прохождения через обратный прокси-сервер IIS и один для прямого подключения к Apache, различия выделены.

Мне интересно, не путает ли регулярное выражение механизм перезаписи в apache. пробовали ли вы отключить файл .htaccess и вместо этого посетить фактический файл в «... / wp-admin /» как «... / wp-admin / admin.php»?