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

IIS URL Rewrite Объяснение переменной сервера правила исходящего трафика

У меня есть следующий фрагмент кода для IIS.

<configuration>
 <system.webServer>
   <rewrite>
     <rules>
       <rule name="HTTPS_301_Redirect" stopProcessing="true">
         <match url="(.*)" />
         <conditions>
           <add input="{HTTPS}" pattern="^OFF$" />
         </conditions>
         <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
       </rule>
     </rules>
     <outboundRules>
       <rule name="Add_HSTS_Header" preCondition="USING_HTTPS" patternSyntax="Wildcard">
         <match serverVariable="RESPONSE_Strict-Transport-Security" pattern="*" />
         <action type="Rewrite" value="max-age=31536000" />
       </rule>
       <preConditions>
         <preCondition name="USING_HTTPS">
           <add input="{HTTPS}" pattern="^ON$" />
         </preCondition>
       </preConditions>
     </outboundRules>
   </rewrite>
 </system.webServer>
</configuration>

Найдено здесь:

https://www.owasp.org/index.php/HTTP_Strict_Transport_Security

Q1: Как узнать, что это правильный синтаксис? RESPONSE подчеркивание переменной сервера (из фрагмента кода выше)?

serverVariable="RESPONSE_Strict-Transport-Security"

Q2: Где я могу найти дополнительную информацию об этом?

serverVariable="RESPONSE_Strict-Transport-Security"

- это просто синтаксис перезаписи URL-адреса IIS, что означает, что это правило применяется к HTTP-заголовку ответа с именем Strict-Transport-Security

В документация модуля это немного объясняет.

Строгая безопасность транспорта HTTP (HSTS) - это флаг, который веб-сайт может установить, чтобы все дальнейшие коммуникации из поддерживаемых браузеров были принудительно переведены на HTTPS.

В вашей конфигурации флаг указывает браузерам использовать только HTTPS для вашего сайта как минимум в течение следующего года. Это делается с помощью правила перезаписи исходящего трафика, которое добавляет заголовок HSTS ко всем исходящим ответам.

Поскольку большинство пользователей вводят веб-сайты как www.example.com или example.com и нет https://www.example.com, это помогает пользователям избегать использования незашифрованного протокола HTTP для связи.