Compartilhar via


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:

export ASPIRE_ALLOW_UNSECURED_TRANSPORT=true

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.