Подтвердить что ты не робот

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

Что-то вроде этого должно работать:

appcmd.exe set config -section:system.webServer/proxy /reverseRewriteHostInResponseHeaders:"False" -commit:apphost

Ответ 3

Флажок "Reverse rewite host in response headers" был для меня в другом месте. Я использую Windows Server 2012 R2.

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

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