Application_BeginRequest
まず第一に、すべてのリクエストをリダイレクトしているときに何度もループするため、決して到達しないと思います...
リクエストが安全でない接続 (http) からのものである場合、おそらくあなたが求めているのはリダイレクトですよね?
そのためには、リクエストが次のような接続から来ているかどうかを確認します。
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (!HttpContext.Current.Request.IsSecureConnection)
Response.Redirect(HttpContext.Current.Request.Url.AbsoluteUri.Replace("http://", "https://"));
}
次に、HTTPS プロトコルが稼働している必要があります。そうしないと、ERR_SSL_PROTOCOL_ERROR
エラーがスローされます。
Visual Studio では、プロジェクト プロパティでhttpsを簡単に有効にできます。
そして、あなたは真実でない警告を受け取るでしょう
Visual Studio として (インストール時に) デフォルトの自己署名証明書が生成されます。
本番環境では、次のことを行う必要があります。
- イントラネット アプリケーションの場合は、自己署名証明書を使用してください。
- インターネット アプリケーションでは、SSL 証明書を購入する必要がありますが、最近はますます安価になっています...
あなたのコメントから、私は今自分自身にいくつか質問があります...
- HTTPS がクライアント コンピューターとサーバー間の接続に対して行うことを理解していますか?
- 両者の間に安全な接続が本当に必要ですか?
- どのような種類のデータを保護しようとしていますか?