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

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

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

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

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

3 ответа

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

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

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

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

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

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

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

Другие вопросы по тегам