IIS перезаписывает заголовок местоположения перед ARR

У нас есть конфигурация перезаписи, которая обрабатывает ARR как обратный прокси в такой конфигурации:

Browser client (OriginA) <-> IIS/ARR (OriginB) <-> Server

Клиент - любое количество веб-браузеров. Мы не можем изменить эту конфигурацию.

  1. Клиент запрашивает http: // originb / return с таким URL-адресом, как http: //origina/done.html в запросе.
  2. ARR затем перенаправляет запрос на http: // server / return .
  3. Сервер отвечает заголовком Location , установленным на http: // origina / done.html и HTTP 302. Я проверил это с помощью Wireshark.
  4. IIS где-то в конвейере меняет заголовок Location на http: //originb/done.html . Здесь начинаются проблемы.
  5. ARR видит исходный URL-адрес на этапе PATTERN_MATCH для заголовка Location .
  6. ARR сообщает исходный URL-адрес как Location заголовок на шаге GENERAL_RESPONSE_HEADERS.
  7. Клиент слепо принимает URL и перенаправляет на несуществующий http: //originb/done.html вместо http: // origina / done. html

Я ' Мы запустили трассировку неудачных запросов, и вот как я увидел шаги 5 и 6.

Что могло заставить IIS переписать заголовок Location перед ARR? Есть ли другие инструменты IIS, которые я могу использовать, чтобы понять это?

3
задан 4 October 2016 в 19:00
1 ответ

Мой Гуглфу подвел меня сегодня.

В панели Настройки прокси-сервера менеджера IIS Manager мне нужно было снять флажок "Перезаписать перезаписываемый хост в заголовках ответов".

.
4
ответ дан 3 December 2019 в 06:01

Теги

Похожие вопросы