http не пересылает https в Google Chrome - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть веб-сайт: 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"

...