ASP.NET でサイト全体に HTTPS を適用する: 総合ガイド
安全な通信を確保するには、すべての Web サイト トラフィックを次の URL にリダイレクトすることが重要です。 HTTPS。この対策を実装するには、これまで、個々のページ読み込みイベントをチェックし、非 HTTPS リクエストをリダイレクトする必要がありました。ただし、web.config 設定を利用するなど、より効果的な方法もあります。
HTTP Strict Transport Security (HSTS)
HSTS は、ブラウザーに常に接続するように指示するディレクティブを確立します。最初のリクエストに関係なく、HTTPS を使用して Web サイトにアクセスします。 HSTS を有効にするには、次のコードを web.config ファイルに追加する必要があります。
<configuration> <system.webServer> <rewrite> <rules> <!-- Prevent HTTP requests and enable HSTS --> <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> </rewrite> </system.webServer> </configuration>
この設定では、すべての HTTP リクエストが HTTPS にリダイレクトされ、後続の HTTPS レスポンスに HSTS ヘッダーが追加され、指定されたリクエストに対して HTTPS 接続を強制するようにブラウザに指示されます。期間。
オリジナル解決策
HSTS が推奨される方法ですが、次のコードもフォールバックとして使用できます。
public void Application_BeginRequest(Object sender, EventArgs e) { if (!HttpContext.Current.Request.IsSecureConnection && !HttpContext.Current.Request.IsLocal) { Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.RawUrl); } }
注: この方法は、 Application_BeginRequest イベント。すべてのシナリオで機能するとは限りません。一方、HSTS は、より堅牢で信頼性の高いソリューションを提供します。
以上がASP.NET でサイト全体に HTTPS を適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。