.NET 6에서 Kestrel 포트를 설정하는 몇가지(너무 많은?) 방법 | Bryan Hogan

Bryan Hogan님이 Kestrel 포트를 설정하는 다양한 방법에 대해 설명합니다.

launchSettings.json

개발환경에서 프로파일을 선택해서 실행할 때 쓰는 방식입니다. 최종 배포 실행시에는 영향을 주지 않습니다.

...
"applicationUrl": "https://localhost:6001;http://localhost:6000",
...

appsettings.json

Kestrel 실행 시 동작할 포트를 이곳에서 지정할 수 있습니다.

  "Kestrel": {
    "Endpoints": {
      "Https": {
        "Url": "https://*:8001"
      },
      "Http": {
        "Url": "http://*:8000"
      }
    }
  }

프로파일 설정보다 이 설정이 더 우선됩니다. 개발환경에서 실행할 경우 프로파일의 포트와 달라 웹브라우저가 실행되지 않는 등의 불편함이 생깁니다. 개발환경에서 적용되는 appsettings.Development.json 설정을 통해 이를 해결할 수 있습니다.

IWebHostBuilder.UseKestrel

소스코드에서 UseUrls()로 적용할 수 있습니다.

var app = builder.Build();

builder.WebHost.UseUrls("http://*:9000;https://*:9001");

WebApplication.Urls.Add

var app = builder.Build();

app.Urls.Add("http://*:7000");
app.Urls.Add("https://*:7001");

명령줄

dotnet run --urls "http://*:11000;https://*:11001"

5개의 좋아요