Обратный прокси-сервер IIS с перезаписью не может обрабатывать перенаправление с сервера, на который мы проксируем

У нас есть сервер A, и в некоторых случаях мы переписываем запросы нашему партнеру на сервере B.

В некоторых случаях сервер B ответит перенаправлением на совершенно другой веб-сайт, что и ожидается, скажем, сервер C. Однако, когда сервер формы перенаправления B возвращается на сервер A, сервер A интерпретирует его как перенаправление на расположение на самом себе (A), а не как перенаправление на другой веб-сайт - сервер C.

Как мне принять к сведению перенаправление на внешний веб-сайт и фактически перейти на него, вместо того, чтобы предполагать, что перенаправление находится на моем сервере (и 404ing)? Мы запускаем IIS 7 с модулем перезаписи.

Любая помощь очень ценится.


person IISrewriteproblems    schedule 22.11.2010    source источник


Ответы (3)


Перейдите к настройкам прокси ARR (они скрыты в IIS -> Кэш маршрутизации запросов приложений -> Настройки прокси сервера) и снимите флажок «Обратный перезапись хоста в заголовках ответов». Этого должно быть достаточно.

person LukasRos    schedule 24.01.2011
comment
Большое спасибо, ! Я весь день искал решение этой проблемы. - person Kirk Woll; 06.07.2012
comment
Учитывая, что этот параметр не хранится в файле Web.config сайта, как мне настроить его с помощью кода, поскольку в моем случае я размещен в Azure и не могу развернуть изменение этого параметра? - person ChrisF; 30.04.2014
comment
Кажется, я не могу найти этого нигде в диспетчере IIS. Где бы скрывался этот параметр? - person Dylan; 08.10.2014
comment
@Dylan для поиска в IIS: в окне «Подключения» (слева) выберите свой сервер, затем вы должны увидеть кэш маршрутизации запросов приложений под IIS в центральном окне. Откройте его, а затем в правом окне вы увидите Настройки прокси-сервера сервера. Это для IIS 6. - person Chris Purves; 10.09.2015
comment
Человек, который разместил этот вопрос, действительно должен принять это как ответ. Это меня спасло. Ваше здоровье - person billy_comic; 13.09.2017
comment
Это очень помогло, спасибо ... На моей локальной машине разработки это было включено по умолчанию, но не при удаленной интеграции. У меня ушло несколько часов на то, чтобы найти этот пост. @IISrewriteproblems принимают это как ответ - person Steven Yates; 27.04.2018
comment
ЭТО. Ffs. почему это по умолчанию? - person Andrew Bullock; 19.03.2020
comment
@LukasRos = спасатель ..... - person stigzler; 28.02.2021

Если вы не можете изменить это в графическом интерфейсе, вы можете установить конфигурацию через командную строку.

Примерно так должно работать:

appcmd.exe set config -section:system.webServer/proxy /reverseRewriteHostInResponseHeaders:"False" -commit:apphost
person humbleice    schedule 17.07.2014
comment
В IIS 10 нет альтернативы графическому интерфейсу для этого. Так что это пригодится - person okeziestanley; 26.09.2019

Флажок «Обратное перезапись хоста в заголовках ответов» был у меня в другом месте. Я использую Windows Server 2012 R2.

Это было в разделе «Подключения» -> «Фермы серверов» -> -> «Прокси», чуть ниже настроек тайм-аута.

В моем случае проверка решила мои проблемы.

person Cereal    schedule 25.08.2017