Я последовал предложению , чтобы добавить следующее в мой web.config, чтобы сделать мое веб-приложение более безопасным.
<outboundRules rewriteBeforeCache="true">
<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=31536000; includeSubDomains; preload" />
</rule>
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+"/>
<action type="Rewrite" value=""/>
</rule>
</outboundRules>
Это сработало, потому что когда я запрашиваю свой URL в https://blabhblahblah.com Я вижу ответ в заголовке следующим образом:
Но когда я попытался перейти к дополнительному URL, например https://blabhblahblah.com/services/someservice.svc тогда я его больше не вижу.
Означает ли это, что мои настройки для принудительного HSTS во всем моем веб-приложение не работает? Есть ли способ убедиться, что мой поддомен также имеет это в своем заголовке ответа?
Я проверил свой сайт на SecureHeader test, и вы можете видеть ниже, основной сайт проходит, но суб URL не удается.