0

Certificate/License/Registrationを使用してウェブサイトを立ち上げる前に必要httpsですか?

Global.asax上記のコードをファイルで使用したい。

protected void Application_BeginRequest(Object sender, EventArgs e)
{
    Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] 
+   HttpContext.Current.Request.RawUrl);
}
4

2 に答える 2

1

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 がクライアント コンピューターとサーバー間の接続に対して行うことを理解していますか?
  • 両者の間に安全な接続が本当に必要ですか?
  • どのような種類のデータを保護しようとしていますか?
于 2012-04-25T18:27:01.693 に答える
0

安全な HTTP (HTTPS プロトコルを使用) を使用する場合、ブラウザーとサーバー間のトラフィックは暗号化されていると言います。

これは、ブラウザーとサーバーがトラフィックの暗号化方法を決定できるように、サーバーに証明書が必要であることを意味します。

これはリダイレクトとは関係なく、すべてサーバーのセットアップに関係しています。

于 2012-04-25T18:21:52.803 に答える