Я пытаюсь применить HTTPS, используя правило в моем файле web.config, за исключением случаев, когда используется localhost. Я получаю эту ошибку при каждом запуске в режиме отладки:
Произошла ошибка при попытке определить идентификатор процесса dotnet.exe, на котором размещено ваше приложение. Произошла ошибка при отправке запроса
Когда я удаляю правило из web.config, все работает нормально. Почему строка pattern=localhost negate=true
не освобождает localhost и позволяет все работать правильно? Я использую IIS Express из Visual Studio
<!--URL rewrite module must be installed on IIS server for this to work-->
<rewrite>
<rules>
<rule name="Redirect to https" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" negate="false" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="off" />
<add input="{HTTP_HOST}" pattern="localhost" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
Для тех, кто просто нажал на эту ошибку и хочет найти быстрое решение, создайте web.Debug.config и web.release.config. удалить перенаправление с версии отладки