web-dev-qa-db-ja.com

Visual Studio 2015 / IISExpressはSSLポートを変更します

私は2つのプロジェクト、Web APIとクライアントのangularJSプロジェクト(Empty Projectテンプレートを使用して作成された)を持っています。クライアントからSSLを強制するように要求されたため、Web API用にfilterAttributeを作成しました。とにかく、両方のプロジェクトをSSL対応に変更しました。問題は、両方のプロジェクトのSSL URLがhttp:// localhost:443であることが示されていることです。 。

そこで、私はapplicationhost.configファイルを変更することにしました。 Visual Studio 2015の場合、これは。vsフォルダーにあるようです。そこで変更すると、プロジェクトを開くと上書きされ、44300に戻されます。

APIのプロパティで仮想ディレクトリを作成しようとしましたが、アプリケーションのルートURLを上書きしようとしました。どちらも機能しませんでした。

別のSSLポートを使用する方法を知っている人はいますか?

28
r3plica

2つのプロジェクトで同じ状況がありました。 Visual Studio 2015は、HTTP用に異なるURLポート番号を正しく割り当てましたが、HTTPS用に両方のプロジェクトを44300にマップしました。

私の知る限り、.vs\configのapplicationhost.configは、IIS Express環境を定義し、IIS起動時の動作を表現します。この情報は、 Visual Studioへのフィードバック。

Visual Studioは.csprojファイルの設定に依存しているようです。これは、VSでプロジェクトのプロパティを確認したときに表示されるSSLポート値です。

両方を調整することで、2つのプロジェクトを解きほぐすことができました。

  1. プロジェクトの.csprojファイルのIISExpressSSLPort値を変更する
  2. また、httpsバインディングがapplicationhost.configに含まれていることを確認する必要がありました

。csproj

<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort>44301</IISExpressSSLPort>

applicationhost.config

<bindings>
   <binding protocol="http" bindingInformation="*:58001:localhost" />
   <binding protocol="https" bindingInformation="*:44301:localhost" />
</bindings>

更新:

ファイル。csproj.userにはSSLポート構成もあります。applicationhost.configファイル内のSSLポート番号の上書きを避けるため、.csproj.userも更新する必要があります。

<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort>44301</IISExpressSSLPort>
50
Greg Terrell

Asp.Net Coreについては、「/ Properties/launchSettings.json」ファイルを参照してください。

19

Vs2015の場合、ソリューションの.vs \フォルダーの下に正しいコンテンツのapplicationhost.configファイルが見つかりました。