Назад | Перейти на главную страницу

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

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

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

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

  1. Клиент просит http: // originb / return с URL-адресом, например http: //origina/done.html в запросе.
  2. ARR затем пересылает запрос на http: // сервер / возврат.
  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, которые я могу использовать, чтобы понять это?

Мой Googlefu сегодня подводил меня.

в Server Proxy Settings на панели IIS Manager мне нужно было снять галочку с "Reverse rewrite host in response headers".