在 .NET.NET Aspire 中允許不安全的傳輸
從預覽版 5 .NET.NET Aspire 開始,如果 applicationUrl
設定不安全的傳輸(非 TLS http
)通訊協定,應用程式主機將會當機。 這是防止意外暴露敏感數據的安全性功能。 不過,在某些情況下,您可能需要允許不安全的傳輸。 本文說明如何在 .NET.NET Aspire 項目中允許不安全的傳輸。
癥狀
當您執行具有設定不安全傳輸通訊協定 applicationUrl
的 .NET.NET Aspire 專案時,您可能會看到下列錯誤訊息:
The 'applicationUrl' setting must be an https address unless the
'ASPIRE_ALLOW_UNSECURED_TRANSPORT' environment variable is set to true.
This configuration is commonly set in the launch profile.
如何允許不安全的傳輸
若要在 .NET.NET Aspire中允許不安全的傳輸,請將 ASPIRE_ALLOW_UNSECURED_TRANSPORT
環境變數設定為 true
。 當 applicationUrl
設定不安全的傳輸通訊協定時,此環境變數可用來控制應用程式主機的行為:
或者,您可以透過啟動設定檔來控制此功能,因為它提供了每個設定檔設置環境變數的能力。 若要這樣做,請考慮 launchSettings.json
檔案中的下列範例設定:
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:15015;http://localhost:15016",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"DOTNET_ENVIRONMENT": "Development",
"DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:16099",
"DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17037"
}
},
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:15016",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"DOTNET_ENVIRONMENT": "Development",
"DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:16099",
"DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17038",
"ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true"
}
}
}
}
上述範例顯示兩個設定檔,https
和 http
。
https
配置檔是使用安全的傳輸通訊協議來設定,而 http
配置檔則設定為不安全的傳輸通訊協定。
ASPIRE_ALLOW_UNSECURED_TRANSPORT
環境變數會設定為 http
設定檔中的 true
,以允許不安全的傳輸。