Consenti trasporto non sicuro in .NET.NET Aspire
A partire da .NET.NET Aspire preview 5, l'host dell'app andrà in crash se un applicationUrl
è configurato con un protocollo di trasporto non sicuro (non-TLS http
). Si tratta di una funzionalità di sicurezza che impedisce l'esposizione accidentale dei dati sensibili. Tuttavia, esistono scenari in cui potrebbe essere necessario consentire il trasporto non sicuro. Questo articolo illustra come consentire il trasporto non sicuro nei progetti .NET.NET Aspire.
Sintomi
Quando si esegue un progetto di .NET.NET Aspire con un applicationUrl
configurato con un protocollo di trasporto non sicuro, è possibile che venga visualizzato il messaggio di errore seguente:
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.
Come consentire il trasporto non sicuro
Per consentire un trasporto non sicuro in .NET.NET Aspire, impostare la variabile di ambiente ASPIRE_ALLOW_UNSECURED_TRANSPORT
su true
. Questa variabile di ambiente viene usata per controllare il comportamento dell'host dell'app quando un applicationUrl
è configurato con un protocollo di trasporto non sicuro:
In alternativa, è possibile controllarlo tramite il profilo di avvio perché espone la possibilità di configurare le variabili di ambiente per profilo. A tale scopo, prendere in considerazione le impostazioni di esempio seguenti nel file 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"
}
}
}
}
L'esempio precedente mostra due profili, https
e http
. Il profilo https
è configurato con un protocollo di trasporto sicuro, mentre il profilo di http
è configurato con un protocollo di trasporto non sicuro. La variabile di ambiente ASPIRE_ALLOW_UNSECURED_TRANSPORT
è impostata su true
nel profilo di http
per consentire il trasporto non sicuro.