У меня есть веб-сайт: https://www.example.com, работающий на IIS 10 на Windows Server 2016. У меня настроена переадресация URL, так что если кто-то переходит на не-1004 *, он перенаправляет на www. Если они go на http, он перенаправляет на https. В прошлом это работало просто отлично.
Сегодня мне звонят, что кто-то не может попасть на сайт. Оказывается, что Google Chrome не перенаправляет http на https - он возвращается с 403. Любой другой браузер, который я пробовал, работает нормально (включая новый MS Edge, который основан на Chromium). Переход к https://example.com успешно перенаправляет на www.
Вот перенаправление, которое до недавнего времени работало очень хорошо (не знаю, когда). Я пробовал их в любом порядке.
<rules>
<clear />
<rule name="Force www." enabled="true" stopProcessing="false">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^pwaportal\.com$" />
</conditions>
<action type="Redirect" url="https://www.pwaportal.com{REQUEST_URI}" />
</rule>
<rule name="Force SSL (https)" enabled="true" stopProcessing="false">
<match url="(.*)" ignoreCase="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
...
</rules>
Примечание. Если кто-то успешно открывал страницу в прошлом, он работает нормально. Chrome Я полагаю, это кеширование окончательного URL-адреса или тот факт, что он должен использовать https для этого домена.
ОБНОВЛЕНИЕ: плотный заговор: я пробовал это в Safari. Safari загрузил 0-байтовый файл с именем "example.com"