web-dev-qa-db-ja.com

Visual StudioでSSLを有効にする

以下に示すように、Visual StudioでSSLを有効にしました。

enter image description here

以下も設定しました:

enter image description here

IEを介して(Visual Studioデバッグを介して)Webサイトにアクセスすると、次のようになります。

enter image description here

Firefox経由で(Visual Studioデバッグ経由で)Webサイトにアクセスすると、次のように表示されます。

enter image description here

FirefoxまたはIEでWebサイトに進むオプションはありません。私は何が悪いのかを理解するために一日中過ごしました。何が悪いのですか?

8
w0051977

.NET MVCまたはWeb APIプロジェクトがあり、SSLで実行したいとします。つまり、プロジェクトを https:// localhost:xxxx のようなURLで起動したいとします。最初のステップは簡単です。ソリューションでMVC/Web APIプロジェクト名を選択し、プロパティウィンドウで「SSL Enabled」というプロパティを見つけます。

Enable SSL in Visual Studio properties window

同じプロパティウィンドウに、アプリケーションのHTTPS URLも表示されます。上記の例では https:// localhost:44300 / です。そのURLをコピーして、プロジェクトのプロパティウィンドウに移動します。 [Web]タブを見つけて、プロジェクトのURLプロパティをhttpsアドレスでオーバーライドします。

Override project url to https

アプリケーションを起動します。ブラウザにlocalhostアドレスが信頼されていないというメッセージが表示される可能性があります。自己責任でウェブサイトにアクセスできます。 Chromeスウェーデン語の例:

Localhost is not trusted

問題は、Visual Studioによって自動的にインストールされた証明書が信頼されていないことです。証明書は、証明書スナップインのコンピューターレベルの証明書の[個人]フォルダーにあります。

localhost certificate in certificates snap-in

証明書をダブルクリックすると、信頼されていないことがわかります。

localhost certificate is not included among trusted certificates

このメッセージは解決策も提供します。証明書を信頼されたルート証明機関フォルダーにインポートする必要があります。同じスナップインの「個人」のすぐ下にフォルダとして表示されます。それでは、どうすればよいでしょうか。証明書を右クリックし、コンテキストメニューから[すべてのタスク]、[エクスポート...]を選択します。証明書のエクスポートウィザードで[次へ]をクリックします。 [秘密キーをエクスポートしない]オプションはそのままにして、[次へ]をクリックします。次の画面でデフォルトを受け入れます。つまり、「DERエンコードされたバイナリX.509」を選択したままにし、[次へ]をクリックします。次に、エクスポートしたファイルの名前と場所を指定する必要があります。それを「localhost」と呼び、簡単に見つけられる場所に保存します。 [次へ]と[完了]をクリックします。エクスポートが成功したことを示すポップアップメッセージが表示されます。次に、[信頼されたルート証明機関]と呼ばれるフォルダーを右クリックし、コンテキストメニューから[すべてのタスク、インポート…]を選択します。証明書のインポートウィザードで[ローカルマシン]オプションをそのままにして、[次へ]をクリックします。直前に保存した証明書を参照します。 [次へ]をクリックし、ウィザードの最後に到達するまで、すべてのデフォルト値を受け入れます。インポートが成功したというメッセージが表示されます。個人ストアに戻ってlocalhost証明書をダブルクリックすると、信頼できることがわかります。

localhost certificate is now trusted

では、.NET Webプロジェクトをもう一度開始しましょう。最初のページは警告なしで開くはずです。それでも同じ問題が発生する場合は、新しいブラウザセッションをテストしてください。ここIEで:

localhost is loaded in browser without issue

ブラウザウィンドウから抽出した証明書を表示することもできます。 IEの例を次に示します。

Certificate details from internet Explorer

12

SSLを使用しているときに、この正確な問題が時々発生します(特にチーム環境で他のユーザーのプロジェクトで作業している場合)、Visual StudioプロジェクトのWeb設定(SSLポート)がめちゃくちゃになることがあります。ここで私はそれらを修正するために何をすべきかです:

  • ソリューションエクスプローラーで、プロジェクトをクリックします。
  • F4キーを押します(プロパティを表示)。
  • (SSL URLではなく)URLをコピーします。
  • URLをWebタブのプロジェクトURLに貼り付け、保存します。
  • ソリューションエクスプローラーで、プロジェクトをクリックします。
  • F4キーを押します(プロパティを表示)。
  • SSL有効をfalseに変更します。
  • Trueに戻します。新しいSSL URLがあるはずです。それをコピーします。
  • 新しいSSL URLを[Web]タブの[プロジェクトURL]に貼り付けます。 [仮想ディレクトリの作成]をクリックします。
  • [アプリケーションルートURLを上書き]をクリックし、SSL URLを貼り付けます。セーブ。

これは常に私にとって問題を解決します。

0
XjeaxaxX