67689


ASP.NETのプロジェクトを作成すると「launchSettings.json」というファイルが作成され、ここで指定されたポートでアプリケーションが実行されますが、  
**「iisSettings/iisExpress/applicationUrl,
sslPort」と「profiles/{プロジェクト名}/applicationUrl」の2通りURLが指定されています。  
これらのURLの違いは何でしょうか？**

推測では以下のような感じなのかなと思ったのですが正しいでしょうか？  
・アプリケーション本体は「profiles/{プロジェクト名}/applicationUrl」で待ち受けている  
・「iisSettings/iisExpress/sslPort」で指定されたポートでアクセスするとSSLによる通信ができる

また、「iisSettings/iisExpress/applicationUrl」で指定されているポート番号は何を表しているのでしょうか？

作成したプロジェクトでは以下のようになっており、いずれにもアクセスできるようになっておりました  
・iisSettings/iisExpress/applicationUrl: <http://localhost:5>****  
・iisSettings/iisExpress/sslPort: 443**  
・profiles/{プロジェクト名}/applicationUrl:
<https://localhost:5001>（ERR_CERT_AUTHORITY_INVALIDの警告が表示される）

使用しているフレームワークは「.NET Standard 2.1」になります。  
WEB初学者のため必要な情報が抜けているかも知れませんのでその場合はご指摘ください。  
よろしくお願いします。


CC BY-SA 4.0
2020-06-13T17:32:12.090
67635
2021-07-25T15:07:40.820
2020-06-14T05:07:44.817
3060
35121
question
c# asp.net ssl
ASP.NETのlaunchSettings.jsonで指定するURLの意味を教えてください


> 「iisSettings/iisExpress/applicationUrl,
> sslPort」と「profiles/{プロジェクト名}/applicationUrl」の2通りURLが指定されています。  
>  これらのURLの違いは何でしょうか？

ASP.NET Core の開発用 WEBサーバーの 主要な2つのアプリ

`Kestrel` : (ASP.NET Core のプロジェクト テンプレートに既定で含まれる Web サーバーです。)  
コマンドプロンプトで `dotnet run` で実行したり `Visual Studio Code` から実行する場合

と

`IISExpress` : Visual Studio から デバッグ実行するときは こちらが良く使われます。

の２つのそれぞれで使う 設定になります。

ASP.NET Core は Windows や Linux の いろいろな ホストサーバー上で動作する事ができます。  
[ASP.NET Core のホストと展開](https://docs.microsoft.com/ja-jp/aspnet/core/host-and-
deploy/?view=aspnetcore-3.1#set-up-a-process-manager)

ASP.NET Core の 開発でよく使う、主要な2つの WEB サーバーの設定となります。

> いずれにもアクセスできるようになっておりました

`IISExpress` も `Kestrel` も両方とも立ち上がっているからなんでしょう。

`IISExpress` は タスクバーの中に  
`Kestrel` は タスクマネージャーの詳細の中の dotnet.exe プロセスを

を終了させたら そのポートの WEBサーバーにはアクセスできなくなります。


CC BY-SA 4.0
2020-06-15T12:01:24.330
67689
2020-06-15T12:15:07.163
2020-06-15T12:15:07.163
18851
18851
67635
answer


> 「iisSettings/iisExpress/applicationUrl,
> sslPort」と「profiles/{プロジェクト名}/applicationUrl」の2通りURLが指定されています。  
>  これらのURLの違いは何でしょうか？

Visual Studio から ASP.NET Core アプリを実行するとデフォルトでは IIS Express
を使用するインプロセスホスティングモデルになります。それを Kestrel をエッジサーバーとして使うようにできます。

Visual Studio のメニューバーにあるドロップダウンの選択で切り替えることができます。

[![画像の説明をここに入力](https://i.stack.imgur.com/8ICLO.jpg)](https://i.stack.imgur.com/8ICLO.jpg)

詳しくは以下の記事を見てください。

開発環境で Kestrel 利用  
<http://surferonwww.info/BlogEngine/post/2020/09/25/use-kestrel-web-server-in-
development-environment.aspx>


CC BY-SA 4.0
2021-01-03T01:45:42.057
73033
2021-01-03T01:45:42.057
43387
67635
answer