AppHost 프로젝트는 분산 애플리케이션(DistributedApplication)을 구성하고 시작합니다. 실행되면 DistributedApplication AppHost에서 구성을 읽습니다. 구성은 AppHost 및 DistributedApplicationOptions.에 설정된 환경 변수에서 로드됩니다.
구성에는 다음이 포함됩니다.
- 주소 및 인증 옵션과 같은 리소스 서비스를 호스팅하기 위한 설정입니다.
- 대시보드의 Aspire프런트 엔드 및 프로토콜(OTLP) 주소와 OpenTelemetry 같은 대시보드를 시작하는 데 사용되는 설정입니다.
- AppHost를 실행하는 데 사용하는 내부 설정 Aspire 입니다. 내부적으로 설정되지만 확장 Aspire되는 통합을 통해 액세스할 수 있습니다.
AppHost 구성은 AppHost 시작 프로필에서 제공됩니다. AppHost에는 시작 프로필 목록이 있는 시작 설정 파일 호출 launchSettings.json 있습니다. 각 시작 프로필은 애플리케이션을 시작하는 dotnet 방법을 정의하는 관련 옵션의 컬렉션입니다.
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:17134;http://localhost:15170",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"DOTNET_ENVIRONMENT": "Development",
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21030",
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22057"
}
}
}
}
이전 시작 설정 파일:
- 이름이
https시작 프로필이 하나 있습니다. - AppHost 프로젝트를 구성합니다.Aspire
-
applicationUrl속성은 대시보드 시작 주소(ASPNETCORE_URLS)를 구성합니다. - AppHost와 같은
ASPIRE_DASHBOARD_OTLP_ENDPOINT_URLASPIRE_RESOURCE_SERVICE_ENDPOINT_URL환경 변수 및 설정됩니다.
-
자세한 내용은 프로필을 참조 Aspire 하고 시작하세요.
Note
이 페이지에 설명된 구성은 AppHost 프로젝트에 대한 Aspire 것입니다. 독립 실행형 대시보드를 구성하려면 대시보드 구성참조하세요.
일반 구성
| Option | 기본값 | Description |
|---|---|---|
ASPIRE_ALLOW_UNSECURED_TRANSPORT |
false |
https 없이 AppHost와의 통신을 허용합니다.
ASPNETCORE_URLS (대시보드 주소) 및 ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL (AppHost 리소스 서비스 주소)는 true가 아닌 한 HTTPS로 보호해야 합니다. |
ASPIRE_CONTAINER_RUNTIME |
docker |
컨테이너에서 지원되는 리소스에 대한 대체 컨테이너 런타임 사용자를 허용합니다. 가능한 값은 docker(기본값) 또는 podman. 자세한 내용은 |
ASPIRE_VERSION_CHECK_DISABLED |
false |
로 설정 trueAspire 하면 시작 시 최신 버전을 확인하지 않습니다. |
Aspire 버전 업데이트 알림
앱이 Aspire 시작되면 NuGet에서 최신 버전을 Aspire 사용할 수 있는지 확인합니다. 새 버전이 발견되면 대시보드에 최신 버전 번호, 업그레이드 지침 링크 및 나중에 해당 버전을 무시하는 단추가 포함된 알림이 표시됩니다.
버전 검사는 다음 경우에만 실행됩니다.
- 대시보드를 사용할 수 있습니다(상호 작용 서비스를 사용할 수 있음).
- 마지막 검사 이후 최소 2일이 지났습니다.
- 구성 설정을 통해
ASPIRE_VERSION_CHECK_DISABLED검사를 사용하지 않도록 설정하지 않았습니다. - 앱이 게시 모드에서 실행되고 있지 않습니다.
업데이트는 수동입니다. SDK 및 패키지 버전을 업그레이드 Aspire 하려면 프로젝트 파일을 편집해야 합니다.
리소스 서비스
리소스 서비스는 AppHost에서 호스트됩니다. 리소스 서비스는 대시보드에서 오케스트레이션 Aspire되는 리소스에 대한 정보를 가져오는 데 사용됩니다.
| Option | 기본값 | Description |
|---|---|---|
ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL |
null |
AppHost에서 호스트하는 리소스 서비스의 주소를 구성합니다.
임의 포트를 갖도록 localhost 사용하여 자동으로 생성됩니다. 예를 들어 https://localhost:17037. |
ASPIRE_DASHBOARD_RESOURCESERVICE_APIKEY |
자동으로 생성된 128비트 엔트로피 토큰입니다. | AppHost의 리소스 서비스에 대한 요청을 인증하는 데 사용되는 API 키입니다. API 키는 AppHost가 실행 모드이고, 대시보드가 비활성화되지 않고, 익명 액세스를 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS허용하도록 대시보드가 구성되지 않은 경우 필요합니다. |
Dashboard
기본적으로 대시보드는 AppHost에서 자동으로 시작됩니다. 대시보드는 자체 구성 집합을 지원하며 일부 설정은 AppHost에서 구성할 수 있습니다.
| Option | 기본값 | Description |
|---|---|---|
ASPNETCORE_URLS |
null |
대시보드 주소입니다.
https 또는 ASPIRE_ALLOW_UNSECURED_TRANSPORT true가 아니면 DistributedApplicationOptions.AllowUnsecuredTransport 합니다.
임의 포트를 갖도록 localhost 사용하여 자동으로 생성됩니다. 시작 설정의 값은 applicationUrls 속성에 설정됩니다. |
ASPNETCORE_ENVIRONMENT |
Production |
대시보드가 실행되는 환경을 구성합니다. 자세한 내용은 ASP.NET Core여러 환경 사용을 참조하세요. |
ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL |
gRPC 엔드포인트가 구성되지 않은 경우 http://localhost:18889. |
대시보드 OTLP gRPC 주소를 구성합니다. 대시보드에서 OTLP를 통해 원격 분석을 수신하는 데 사용됩니다. 리소스에서 OTEL_EXPORTER_OTLP_ENDPOINT env var로 설정합니다.
OTEL_EXPORTER_OTLP_PROTOCOL env var은 grpc.
임의 포트를 갖도록 localhost 사용하여 자동으로 생성됩니다. |
ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL |
null |
대시보드 OTLP HTTP 주소를 구성합니다. 대시보드에서 OTLP를 통해 원격 분석을 수신하는 데 사용됩니다.
ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL만 구성된 경우 리소스에서 OTEL_EXPORTER_OTLP_ENDPOINT env var로 설정됩니다.
OTEL_EXPORTER_OTLP_PROTOCOL env var은 http/protobuf. |
ASPIRE_DASHBOARD_CORS_ALLOWED_ORIGINS |
null |
대시보드에 구성된 CORS 허용 원본을 재정의합니다. 이 설정은 리소스 엔드포인트를 기반으로 허용된 원본을 계산하는 기본 동작을 대체합니다. |
ASPIRE_DASHBOARD_FRONTEND_BROWSERTOKEN |
자동으로 생성된 128비트 엔트로피 토큰입니다. | 프런트 엔드 브라우저 토큰을 구성합니다. 인증 모드가 BrowserToken일 때 대시보드에 액세스하기 위해 입력해야 하는 값입니다. 브라우저 토큰을 지정하지 않으면 AppHost가 시작될 때마다 새 토큰이 생성됩니다. |
ASPIRE_DASHBOARD_TELEMETRY_OPTOUT |
false |
사용량 원격 분석을 보내지 않도록 대시보드를 구성합니다. |
ASPIRE_DASHBOARD_AI_DISABLED |
false |
GitHub 대시보드의 Copilot 는 지원되는 IDE에서 AppHost를 시작할 때 사용할 수 있습니다. Copilot로 true 설정된 경우 대시보드에서 비활성화되고 Copilot UI가 표시되지 않습니다. |
ASPIRE_DASHBOARD_FORWARDEDHEADERS_ENABLED |
false |
요청 컨텍스트의 스키마 및 호스트 값을 헤더에서 오는 값으로 바꾸는 전달된 헤더 미들웨어를 X-Forwarded-ProtoX-Forwarded-Host 사용하도록 설정합니다. |
Internal
내부 설정은 AppHost 및 통합에서 사용됩니다. 내부 설정은 직접 구성하도록 설계되지 않았습니다.
| Option | 기본값 | Description |
|---|---|---|
AppHost:Directory |
프로젝트가 없는 경우 콘텐츠 루트입니다. | AppHost가 있는 프로젝트의 디렉터리입니다. IDistributedApplicationBuilder.AppHostDirectory액세스할 수 있습니다. |
AppHost:Path |
애플리케이션 이름과 결합된 디렉터리입니다. | AppHost의 경로입니다. 디렉터리를 애플리케이션 이름과 결합합니다. |
AppHost:Sha256 |
AppHost가 게시 모드에 있을 때 AppHost 이름에서 만들어집니다. 그렇지 않으면 AppHost 경로에서 만들어집니다. | 현재 애플리케이션에 대해 16진수로 인코딩된 해시입니다. 해시는 현재 컴퓨터에서 앱의 위치를 기반으로 하므로 AppHost를 시작하는 사이에 안정적입니다. |
AppHost:OtlpApiKey |
자동으로 생성된 128비트 엔트로피 토큰입니다. | 대시보드 OTLP 서비스로 전송된 요청을 인증하는 데 사용되는 API 키입니다. 필요한 경우 값이 있습니다. AppHost가 실행 모드이고, 대시보드가 비활성화되지 않으며, 대시보드가 익명 액세스를 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS허용하도록 구성되지 않았습니다. |
AppHost:BrowserToken |
자동으로 생성된 128비트 엔트로피 토큰입니다. | AppHost에서 시작할 때 대시보드로의 검색을 인증하는 데 사용되는 브라우저 토큰입니다. 브라우저 토큰은 ASPIRE_DASHBOARD_FRONTEND_BROWSERTOKEN설정할 수 있습니다. 필요한 경우 값이 있습니다. AppHost가 실행 모드이고, 대시보드가 비활성화되지 않으며, 대시보드가 익명 액세스를 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS허용하도록 구성되지 않았습니다. |
AppHost:ResourceService:AuthMode |
ApiKey;
ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS true이면 값이 Unsecured. |
리소스 서비스에 액세스하는 데 사용되는 인증 모드입니다. 필요한 경우 값이 있습니다. AppHost가 실행 모드이고 대시보드가 비활성화되지 않습니다. |
AppHost:ResourceService:ApiKey |
자동으로 생성된 128비트 엔트로피 토큰입니다. | AppHost의 리소스 서비스에 대한 요청을 인증하는 데 사용되는 API 키입니다. API 키는 ASPIRE_DASHBOARD_RESOURCESERVICE_APIKEY설정할 수 있습니다. 필요한 경우 값이 있습니다. AppHost가 실행 모드이고, 대시보드가 비활성화되지 않으며, 대시보드가 익명 액세스를 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS허용하도록 구성되지 않았습니다. |
Aspire