Ich möchte strikte Transportsicherheit ermöglichen. Meine Website ist ein https aktivieren. Unten ist mein Code, um HSTS zu aktivieren.Enable Strenge Transportsicherheit mvc
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
**<add name="Strict-Transport-Security" value="max-age=31536000"/>**
.....
</customHeaders>
</httpProtocol>
Ist obige Einstellung genug ist, strenge Transportsicherheit aktivieren oder zu tun, damit ich muss auch also unterhalb Einstellung hinzuzufügen.
<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=31536000" />
</rule>
</outboundRules>
</rewrite>
Wenn beide Einstellung dann obligatorisch sind, was die Notwendigkeit zum Umschreiben ist können wir HST nur oder nur Rewrite aktivieren.
Warum Neuschreiben erforderlich ist. https://www.hanselman.com/blog/HowToEnableHTTPStrictTransportSecurityHSTSInIIS7.aspx
auch wenn ich Rewrite nicht verwenden, und wenn ich versuche, http, es zu verwenden Browser erzwingen https zu verwenden, dh es ohne Umschreiben auf https automatisch umleiten. – user1681166
Was passiert, wenn Sie nicht umschreiben – user1681166
Ohne neu zu schreiben, wird es auch funktionieren. Ich habe nicht umgeschrieben. Verwenden Sie einfach den oben genannten Code für sts, löschen Sie den Browser-Cache, geben Sie die URL mit http und Sie landen die Website nur mit http. Es wird nicht auf https umgeleitet. Sobald Sie die URL mit https gefunden haben, versuchen Sie, http einzugeben und versuchen Sie, die Website zu betreten, es wird Ihnen nicht mehr erlauben, auf die Seite mit http zuzugreifen. Wieder löschen Sie den Cache und versuchen Sie http, wird es dann erlauben. Es ist nur ein Wert für den Client-Browser festgelegt. Wenn Sie den Cache leeren, ist er verschwunden. – Chidambaram