Permitir o transporte não seguro no .NET.NET Aspire
Começando com .NET.NET Aspire versão prévia 5, o host do aplicativo falhará se um applicationUrl
estiver configurado com um protocolo de transporte não seguro (não TLS http
). Esse é um recurso de segurança para evitar a exposição acidental de dados confidenciais. No entanto, há cenários em que talvez seja necessário permitir o transporte não seguro. Este artigo explica como permitir o transporte não seguro em projetos .NET.NET Aspire.
Sintomas
Ao executar um projeto .NET.NET Aspire com um applicationUrl
configurado com um protocolo de transporte não seguro, você poderá ver a seguinte mensagem de erro:
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.
Como permitir o transporte não seguro
Para permitir um transporte não seguro em .NET.NET Aspire, defina a variável de ambiente ASPIRE_ALLOW_UNSECURED_TRANSPORT
como true
. Essa variável de ambiente é usada para controlar o comportamento do host do aplicativo quando um applicationUrl
é configurado com um protocolo de transporte inseguro:
Como alternativa, você pode controlar isso por meio do perfil de inicialização, pois ele expõe a capacidade de configurar variáveis de ambiente por perfil. Para fazer isso, considere as seguintes configurações de exemplo no arquivo 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"
}
}
}
}
O exemplo anterior mostra dois perfis, https
e http
. O perfil https
é configurado com um protocolo de transporte seguro, enquanto o perfil de http
está configurado com um protocolo de transporte não seguro. A variável de ambiente ASPIRE_ALLOW_UNSECURED_TRANSPORT
é definida como true
no perfil http
para permitir o transporte não seguro.