Compartir a través de


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:

export ASPIRE_ALLOW_UNSECURED_TRANSPORT=true

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.