Проблема с сайтами hstspreload.org и asp. net в azure - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть asp. net веб-сайт, работающий как azure веб-приложение (www.die.de), и я пытаюсь добавить заголовок hsts. кажется, что все согласны с тем, что для этого нужно добавить правило к «исходящим» правилам. Это делается для того, чтобы заголовок hsts не отправлялся при использовании http (например, при перенаправлении с http на https). Вот один поток, объясняющий, как это сделать:

Включить HTTP Strict Transport Security (HSTS) в Azure WebRoles

Я так и сделал. Мой раздел «переписать» в web.config выглядит следующим образом:

<rewrite>
    <rules>
      <rule name="Redirect to https" 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>
      <rule name="Redirect to www" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^die\.de" ignoreCase="true"/>
          </conditions>
          <action type="Redirect" url="https://www.die.de/{R:1}" redirectType="Permanent"/>
        </rule>
        <rule name="Convert to lower case" stopProcessing="true">
      <match url="^([^?#]*[A-Z][^?#]*)(\?.*)?(#.*)?" ignoreCase="false" />
      <action type="Redirect" url="{ToLower:{R:1}}{R:2}{R:3}" redirectType="Permanent" />
      <conditions>
        <add input="{APPL_PHYSICAL_PATH}{R:1}" matchType="IsFile" />
      </conditions>
    </rule>
  </rules>
    <outboundRules>
        <rule name="HSTS" enabled="true">
            <match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" />
            <conditions>
                <add input="{HTTPS}" pattern="on" ignoreCase="true" />
            </conditions>
            <action type="Rewrite" value="max-age=31536000; includeSubDomains; preload" />
        </rule>
    </outboundRules>
</rewrite>

(у меня есть одно дополнительное правило, которое, как вы можете видеть, выполняет условное перенаправление на URL-адреса в нижнем регистре).

Теперь, когда я смотрю на заголовки с помощью инструментов разработчика браузера, я вижу ожидаемый заголовок hsts. При использовании заголовков безопасности (https://securityheaders.com/) они соглашаются: присутствует заголовок HSTS.

При использовании https://hstspreload.org/ они говорят, что заголовок НЕ подарок. Похоже, я делаю что-то не так.

Есть идеи, что может быть причиной этого?

...