Я получаю ошибку сброса соединения в браузерах, когда перенаправляю URL с http на https. Я пытаюсь найти проблему, посмотрел C:\Windows\System32\LogFiles\HTTPERR
и вижу только Timer_ConnectionIdle
ошибки в журнале. Из того, что я смог найти, они не связаны.
В папке нет журналов FailedReqLogFiles
, и я не вижу в ней ничего, кроме журналов доступа W3SVC1
.
Я совершенно не знаю, куда идти дальше. Вот мое правило перенаправления.
URL-адрес соответствия
Запрошенный URL: Соответствует шаблону
Использование: Регулярные выражения
Шаблон: .*
и Игнорировать регистр
Условия
Логическая группировка: Соответствует всем
Ввод: {HTTPS}
Тип: Соответствует шаблону Шаблон
: выкл.
Переменные сервера
Пустой
Действие
Тип действия: Перенаправление
URL-адрес перенаправления: https://{SERVER_NAME}/{R:0}
Добавить строку запроса: отмечено
Тип перенаправления: Постоянное (301)
решение1
Этот фрагмент web.config
мне подходит.
<rule name="Redirect HTTP to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="OFF" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
Основное различие между этой и вашей конфигурацией, по-видимому, заключается в том, HTTP_HOST
что SERVER_NAME
я использую шаблон замены, R:1
тогда как вы используете R:0
, но это можно объяснить тем, как я определил свой шаблон соответствия как , (.*)
а не .*
.