ASP.NET での永続的な HTTPS の強制
質問:
以前は、HTTPS を強制していましたすべてのリクエストは各ページ読み込みイベントを手動でチェックし、必要な場合は HTTPS にリダイレクトする必要があります。 必要。より効率的なソリューションはありますか?
回答:
HTTP Strict Transport Security (HSTS)
HSTS が組み込まれていますASP.NET に統合して、シームレスな HTTPS 強制メカニズムを提供します。これは、指定されたドメインへの今後のすべてのリクエストが HTTPS 経由で行われる必要があることを示す特別なヘッダーをクライアント ブラウザに送信することによって機能します。
実装:
<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>
protected void Application_BeginRequest(Object sender, EventArgs e) { if (HttpContext.Current.Request.IsSecureConnection.Equals(false) && HttpContext.Current.Request.IsLocal.Equals(false)) { Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.RawUrl); } }
HSTS の利点:
以上がASP.NET で HTTPS を効率的に適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。