Назад | Перейти на главную страницу

Использование HSTS с пересылкой субдоменов

Сканирование веб-сайта с помощью https://observatory.mozilla.org дает мне следующую ошибку: Первоначальное перенаправление с http на https на другой хост, предотвращая HSTS.

Вопрос

Деталь

Домен этого сайта зарегистрирован в Google Domains. Для обеспечения доступа к сайту через example.com автоматически перенаправляется на www.example.com Я настроил переадресацию субдоменов со следующим правилом:

example.com → https://www.example.com 
Permanent redirect (301), Forward path

Кроме того, у меня есть правила на сайте (asp.net) web.config перенаправить любые HTTP-соединения на HTTPS и добавить Strict-Transport-Security HTTP-заголовок (при представлении только через HTTPS, согласно известному Блог Скотта Хансельманасовет):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
                </rule>
            </rules>
            <outboundRules>
                <rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
                    <match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" />
                    <conditions>
                        <add input="{HTTPS}" pattern="on" ignoreCase="true" />
                    </conditions>
                    <action type="Rewrite" value="max-age=63072000; includeSubDomains; preload" />
                </rule>
            </outboundRules>
        </rewrite>
        <httpProtocol>
            <customHeaders>
                <remove name="X-Powered-By" />
                <!-- add name="Strict-Transport-Security" value="max-age=63072000; includeSubDomains; preload" / -->
                <add name="Content-Security-Policy" value="default-src 'self';" />
                <add name="X-Content-Type-Options" value="nosniff" />
                <add name="X-Frame-Options" value="DENY" />
                <add name="X-Xss-Protection" value="1; mode=block" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

Сам сайт размещен в Azure (в рамках моих бесплатных кредитов на подписку Visual Studio). URL сайта здесь example.azurewebsites.net, а в Google Domains у меня есть CName, указывающий www в example.azurewebsites.net (под пользовательскими записями ресурсов).