У меня есть определенная уникальная и интересная установка, продолжающаяся от того, что я могу сказать с интересной проблемой. У меня есть поле Windows Server 2012 как мой основной веб-сервер, размещающий website.com. По http://website.com/sites/ у меня есть обратная установка прокси с ARR, чтобы указать, что все назад к WPMU Wordpress устанавливает на поле Debian рабочий Apache. Вот переписать конфигурация правила:
Теперь, все работает правильно, но одна вещь, портящая, состоит в том, что, если я перехожу к кому-либо wp-admin/, пролистывают обратный прокси, я получаю цикл перенаправления:
Ради того, чтобы быть точным с тем, что я описываю, вот мой .htaccess файл и мой wp-config.php файл (очевидный опущенный материал).
То, что я нахожу интересными, - то, что, если я изменяю свой локальный файл hosts, чтобы указать на мой домен на IP-адрес Debian и обойти ARR IIS, затем wp-admin/, работает просто великолепно, никакие проблемы. Просто кажется, что моя проблема где-нибудь с переводом между IIS и Apache? Я в замешательстве для того, что посмотреть на и отладить это дальше.
Любая справка супер ценилась бы!
Методология решения этой проблемы будет включать определение реальной проблемы.
Я бы временно отключил https
для сайта администратора в тестовой или промежуточной сети если потребуется из-за требований безопасности.
Затем я бы прослушал соответствующий трафик с хоста IIS / ARR или с хоста Apache, чтобы увидеть, что на самом деле происходит между хостами, когда вы вызываете страницу администратора. Контрольные дампы для трафика между клиентом и IIS, а также между клиентом и Apache, вероятно, тоже помогают. Используйте свой любимый сниффер, иначе позвольте мне предложить Wireshark для Windows или tcpdump для Linux.
Я совершенно уверен, что вы быстро увидите, есть ли проблема с перенаправлением, URL-адрес регулярного выражения проблема интерпретации или что-то еще. Решение, конечно, будет зависеть от того, что вы на самом деле обнаружите.
Это лучший из известных мне способов отладки странностей обратного прокси, поскольку человек работает с фактами, которые сужают объем проблемы, а не с предположениями, расширяющими ее.
Чтобы получить помощь с анализом Я бы опубликовал два дампа отфильтрованных пакетов: один для прохождения через обратный прокси IIS, а другой для прямого подключения к Apache, различия подчеркнуты.
Мне интересно, не запутался ли регекс в переписывающем движке в apache. Вы пробовали отключить .htaccess файл и вместо этого посмотреть фактический файл в ".../wp-admin/" как ".../wp-admin/admin.php"?
Возможно, это происходит из-за того, что заголовок 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 , чтобы заголовок оставался неизменным.