Запрос HTTP регистрируется как HTTPS и не перенаправляется
Чувак, я давно с этим борюсь. Я действительно надеюсь, что кто-то может помочь мне понять это.
- Windows Server 2012 R2
- IIS 8.5
Использование перезаписи URL:
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
Довольно стандартные вещи. Вот откуда это странно:
Вышеуказанное правило действует на родительском сайте. Перенаправление работает БОЛЬШЕ времени на родительском сайте, но с некоторыми страницами (и это согласованно) это ПРОСТО. БУДУТ. НЕ. перенаправить их на HTTPS.
Этот родительский сайт также имеет несколько дочерних сайтов (веб-сервисы, API-интерфейсы и т. Д.). А на дочерних сайтах ни одна из страниц не будет перенаправлена, даже если бы выглядело так, как если бы правило, введенное в действие на родительском сайте, было унаследовано всеми дочерними сайтами.
Хорошо, и это становится еще более странным:
Используя этот замечательный учебник, я настроил отслеживание Failed Request. Затем я быстро попытался загрузить одну из страниц, которая не перенаправляет, загрузив страницу в браузер, НЕ на веб-сервере. Пример:
HTTP://v10staging.mydomain.com/some-sub-page
ПРИМЕЧАНИЕ. Я запросил HTTP, а не HTTPS. Затем я посмотрел журналы неудачных попыток, и вот что появляется:
Хотя я запрашивал HTTP, он на самом деле был зарегистрирован как HTTPS. Скажите, если я ошибаюсь, но похоже, что сервер считает, что запрос уже находится на https, и поэтому он не перенаправляется.
Какие. Является. Собирается. На? И как мне это исправить?