Базовый URL-адрес перенаправления ASP переписывается IIS

Я пытаюсь отладить, как мне кажется, проблему перезаписи IIS.

Я размещаю несколько сайтов на одном сервере IIS, который действует как прокси для хостов Kestrel за сцены. Все это работает правильно, и у меня не было никаких проблем.

Проблема, с которой я сталкиваюсь, заключается в том, что какой-либо из моих сайтов выполняет возврат Redirect ("http://www.someotherurl.com/ ") через ASP.NET MVC базовый URL-адрес всегда переписывается на URL-адрес моего сайта - это верно, даже если URL-адрес является полностью внешним по отношению к моему URL-адресу.

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

Что касается правил, у меня сейчас нет никаких исходящих правил. Для входящих правил у меня есть (для каждого из моих сайтов):

  1. Правило перенаправления HTTP на HTTPS.
  2. Правило перезаписи, которое принимает URL-адреса и переписывает URL-адрес на http://127.0.0.1: порт , чтобы автономные службы могли должным образом обработать запрос. Для каждого сайта существует отдельное правило.

Я очень озадачен на этом этапе, потому что я не вижу другого способа перенаправления, не направленного на фактический URL, который я предоставляю, но IIS, похоже, делает что-то загадочное.

Дополнительная информация

  1. Приходит запрос на www.example.net/Documents.
  2. . Правило переписывает URL-адрес на 127.0.0.1:port/Documents на основе входящего URL-адреса.
  3. Конечная точка обрабатывает запрос.
  4. Отправляется ответ о перенаправлении.
  5. Базовый URL-адрес конвертируется обратно в www.example.com, несмотря ни на что - даже если перенаправление выполняется на другой домен. Я считаю, что проблема именно здесь. Похоже, что IIS делает это по умолчанию. Однако я не уверен.
1
задан 27 May 2016 в 19:31
1 ответ

Нашел ответ и хотел опубликовать здесь сообщение на случай, если кто-то еще столкнется с проблемой.

Согласно https://stackoverflow.com/a/23600821/132528 :

Может ли быть задействована маршрутизация запросов приложений? Посмотрите на IIS -> Компьютер или сайт -> Кэш маршрутизации запросов приложений -> Настройки прокси-сервера и снимите флажок «Обратить перезапись хоста в заголовках ответов». Если вы сделаете это на уровне компьютера, это повлияет на все сайты. Если вы сделаете это на определенном сайте, это будет действовать только для этого сайта, а другие сайты в поле не будут затронуты.

1
ответ дан 3 December 2019 в 23:45

Теги

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