Scannen einer Website mithttps://observatory.mozilla.orggibt mir den folgenden Fehler:Die erste Umleitung von http zu https erfolgt zu einem anderen Host, wodurch HSTS verhindert wird..
Frage
- Handelt es sich hierbei um ein echtes Problem mit meinem Setup oder um einen Fehler im Tool, das die Subdomäne nicht als Teil derselben Domäne erkennt?
- Kann mir jemand anhand der folgenden zusätzlichen Informationen sagen, was ich möglicherweise übersehe?
Detail
Die Domain dieser Site ist bei Google Domains registriert. Um sicherzustellen, dass jeder, der über auf die Site zugreift, example.com
automatisch umgeleitet wird, www.example.com
habe ich eine Subdomain-Weiterleitung mit der folgenden Regel eingerichtet:
example.com → https://www.example.com
Permanent redirect (301), Forward path
Zusätzlich habe ich Regeln in den (asp.net)-Sites, web.config
um alle HTTP-Verbindungen auf HTTPS umzuleiten und den HTTP-Header hinzuzufügen Strict-Transport-Security
(wenn er nur über HTTPS präsentiert wird, gemäß dem berühmtenBlog von Scott Hanselman's Ratschlag):
<?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>
Die Site selbst wird in Azure gehostet (unter meinen kostenlosen Guthaben für Visual Studio-Abonnements). Die URL der Site lautet hier example.azurewebsites.net
und in Google Domains habe ich einen CName, der www
auf verweist example.azurewebsites.net
(unter benutzerdefinierten Ressourceneinträgen).