Permitir el transporte no seguro en .NET.NET Aspire
A partir de .NET.NET Aspire versión preliminar 5, el host de la aplicación se bloqueará si un applicationUrl
está configurado con un protocolo de transporte no seguro (no TLS http
). Se trata de una característica de seguridad para evitar la exposición accidental de datos confidenciales. Sin embargo, hay escenarios en los que es posible que tenga que permitir el transporte no seguro. En este artículo se explica cómo permitir el transporte no seguro en proyectos de .NET.NET Aspire.
Síntomas
Al ejecutar un proyecto de .NET.NET Aspire con un applicationUrl
configurado con un protocolo de transporte no seguro, es posible que vea el siguiente mensaje de error:
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.
Cómo permitir el transporte no seguro
Para permitir un transporte no seguro en .NET.NET Aspire, establezca la variable de entorno ASPIRE_ALLOW_UNSECURED_TRANSPORT
en true
. Esta variable de entorno se usa para controlar el comportamiento del host de la aplicación cuando se configura un applicationUrl
con un protocolo de transporte no seguro:
Como alternativa, puede controlarlo a través del perfil de inicio, ya que expone la capacidad de configurar variables de entorno por perfil. Para ello, considere la siguiente configuración de ejemplo en el archivo 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"
}
}
}
}
En el ejemplo anterior se muestran dos perfiles, https
y http
. El perfil de https
está configurado con un protocolo de transporte seguro, mientras que el perfil de http
está configurado con un protocolo de transporte no seguro. La variable de entorno ASPIRE_ALLOW_UNSECURED_TRANSPORT
se establece en true
en el perfil de http
para permitir el transporte no seguro.