web-dev-qa-db-ja.com

IISExpressは、Visual Studio 2013でlocalhostを実行しているSSLページを見つけることができません

http:// localhost:26049 としてサイトにアクセスすると、サイトは正常に動作します。 https:// localhost:44319 でサイトにアクセスしようとすると、ページが見つかりません。

これは私のプロジェクトのプロパティです:

project properties

これは、私のIISExpressアプリケーション構成からのものです。

<site name="MVC Authentication" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="F:\Projects\MySite\Test" />
    </application>
    <bindings>
        <binding protocol="https" bindingInformation="*:44319:localhost" />
        <binding protocol="http" bindingInformation="*:26049:localhost" />
    </bindings>
</site>
27
garethb

この投稿から解決策を得ました。すべてのlocalhost証明書を削除し、修復する必要がありましたIIS Express。ありがとう@ShaTin

https://stackoverflow.com/a/22818853/853295

以前の 'localhost'証明書は、IIS Expressによって生成されたものと競合する可能性があります。この同じエラー(ERR_SSL_PROTOCOL_ERROR)が発生しました。多くの「解決策」を試した後、私は自分の 'localhost'証明書を作成し、そのうちの2つがあったということでした。両方を削除し、IIS Expressを再作成しなければなりませんでした。

「localhost」証明書を確認して削除する方法は次のとおりです。

開始時に、「-> mmc.exe」、「ファイル」->「スナップインの追加と削除...」、「証明書の選択」->「追加」->「コンピューターアカウント」->「ローカルコンピューター」と入力し、「証明書」>「個人」>「証明書」を選択します。存在するローカルホスト証明書のフレンドリ名が「IIS Express Development Certificate」であることを確認してください。そうでない場合は、削除します。または、複数ある場合は、すべて削除します。 Visual Studioでプロジェクトを選択し、プロパティタブでSSL = trueを有効にします。保存、ビルド、および実行。 IIS Expressは新しい「localhost」証明書を生成します。

注:うまくいかない場合は、これらを試してください:VSプロジェクトでIIS Expressを無効にし、 'localhost'証明書を削除する前に実行中のアプリをすべて停止してください。また、 「コントロールパネル>プログラム」および修復IIS Express。

32
garethb

g * dの愛のために、これを試してください。不必要な狂気にうんざりする前に!

(どうやらIIS Expressは、シミュレーション用に44300-44399のポート範囲を予約しています[〜#〜] ssl [〜#〜]

ポート44300(https:// localhost:44300 /)に変更

31
DaniDev

これを解決するために私が従った手順(私はvs2015を使用しています) enter image description here

1)コントロールパネルに移動

2)プログラムの削除の追加

3)修復IIS Express

4)コンピューターを再起動しました

4)次に、[ドキュメント]-> [IIS Express]-> [構成ファイル]に移動します。

5)それらのコピーを取り、そこからそれらのファイルを削除します

6)すべてのアイテムを削除C:\ Temp

7)slnファイルで.vsフォルダーを確認し、その中のconfigフォルダーに移動します

8)そのコピーも取り、その中のファイルを削除します

9)ソリューションのクリーニング

10)Visual studioを再起動します

11)ビルドして実行

(同僚のマシンからクリーンな構成ファイルをコピーしました-上記の場所に
1]ドキュメント内
2] .vsフォルダー
IISExpressを実行するだけで、ファイルが再作成されます。 exeは「c:\ Program Files\IIS Express\iisexpress.exe」にあります。 )

14
Kushal M K

IIS Expressはhttps URLでプロジェクトを開始していません。デフォルトのプロジェクトURLをSSLに変更してみてください

「Web Project-> Properties-> Web-> Project URL」をhttpsのURLに変更します。

enter image description here

9
TejSoft

私の場合、以前の実行でIIS Expressは証明書(localhostと呼ばれる)をPersonal> Certificatesフォルダーに追加しました。しかし、アプリケーションで無効な証明書エラーが発生していました。信頼されたルートへの証明書...>証明書とすべてが機能し始めました。

翌日、同じアプリケーションを実行すると、このERR_CONNECTION_RESETエラーが発生し始めました。私がしなければならなかったのは、ローカルホスト証明書を信頼されたルート...>証明書フォルダから移動し、個人>証明書フォルダに戻すことだけでした。 enter image description here

「localhost」証明書がいずれかのフォルダにない場合、修復/再インストールする必要がありますIIS [コントロールパネル]> [プログラムの追加と削除]。これにより、localhost証明書が復元されます。

Visual Studio 2015、IIS Express、Windows 8、Asp.net MVC

7
Rahatur

ChromeおよびEdgeでこれらのSSLの問題が発生していました。

これらのすべての回答と提案を確認する長いプロセスの後、最終的に私のために働いたのは(asp.net mvc 5、VS2015)上記の回答のミックスでした

  1. 上記のように証明書スナップインを追加し、複数の証明書を削除して新しい証明書を再生成します。ありがとう@garethb
  2. その場合、問題はその証明書の信頼レベルにあります。次のリンクは、ローカル証明書をエクスポートしてからインポートする(移動するだけではない)段階的なプロセスを示しています https://blogs.msdn.Microsoft.com/robert_mcmurray/2013/11/15/how-to-trust -the-iis-express-self-signed-certificate /

    1. すべてを閉じてから、再構築してIIS Expressにデプロイすると、どのブラウザーでもSSLエラーが発生しなくなります
1
Brennon

私は最近VS 2019で非常に似た問題を抱えていましたIISEpress。ADFSを使用できるようにhttpをhttpsに変更しようとしました。 https://i.stack。 imgur.com/Kd34a.png

もう少し調査した後、「SSLが必要」プロパティをtrueからfalseに切り替え、再びtrueに戻そうとしました。これにより、httpsプロトコルの新しいポート番号で新しいSSLバインディングを作成するapplicationhost.configファイル(..。Vs\ProjectName\config\applicationhost.config)の更新がトリガーされました。そこで、提案された新しいポート(プロジェクトのWebプロパティ、構成ファイル、ADFS構成)ですべてのリンクを変更しましたが、機能します。結論として、httpポートが同じサイトのhttpsと同じである必要はありません。

0
Med SOMAI

VS2017では、これらのオプションはどれも同じ問題で機能しませんでした。 iisexpresscmdadminと自己署名証明書を使用したこのソリューションにより、私のサイトが最終的にプルアップされました。

欠落しているIIS Express SSL証明書を修正するにはどうすればよいですか?

0
John Ernest

VS 2017を使用すると、証明書をエクスポートしてChromeにインポートした後でも、これらのソリューションはどれも機能していないようでした。 (1)ローカル証明書をパーソナルから信頼されたルートにコピーしました(2)プロジェクトプロパティのポート番号を61899から44300に変更しました。

0
Ross Kelly

同じ問題がありました。 HTTPサイトは正常に実行されていましたが、IIS ExpressはSSLサイトを開始しませんでした。

私の問題は、何とかしてaplicationhost.configファイルを台無しにしてしまったことです。私のプロジェクトは2回登録されました。

<site name="Test.Api" id="5">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
    </bindings>
</site>
<site name="Test.Api(1)" id="6">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
        <binding protocol="https" bindingInformation="*:44349:localhost" />
    </bindings>
</site>

両方のエントリを削除し、プロジェクトプロパティページから新しい仮想ディレクトリを作成すると、問題が解決しました。

プロパティページから新しい仮想ディレクトリを作成する

0
bartd

IISでバインディングを変更してみてください

このリンクは私の3日間の断続的な頭痛を解決したものです: https://deanhume.com/set-up-iis-7-to-run-a-secure-site-locally-https/

以下に、実際の問題を発見するための具体的な手順を示します。

Windowsキー>管理ツール>インターネットインフォメーションサービス>デフォルトのWebサイトをクリック(またはWebサイトは何でも)>バインド...>ローカルホストの重複バインディングをすべて削除し、ポート80にhttpsバインディングを追加します

0
djg