Поделиться через


Разрешить небезопасный транспорт в .NET.NET Aspire

Начиная с предварительной версии 5 .NET.NET Aspire, узел приложения завершится сбоем, если applicationUrl настроен с использованием небезопасного транспортного протокола (протокол, не являющийся TLS http). Это функция безопасности, которая позволяет предотвратить случайное воздействие конфиденциальных данных. Однако существуют сценарии, в которых может потребоваться разрешить небезопасный транспорт. В этой статье объясняется, как разрешить небезопасный транспорт в проектах .NET.NET Aspire.

Симптомы

При запуске проекта .NET.NET Aspire с applicationUrl, настроенной с использованием небезопасного транспортного протокола, может появиться следующее сообщение об ошибке:

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.

Как разрешить небезопасную передачу данных

Чтобы разрешить небезопасный транспорт в .NET.NET Aspire, задайте для переменной среды ASPIRE_ALLOW_UNSECURED_TRANSPORT значение true. Эта переменная среды используется для управления поведением узла приложения при настройке applicationUrl с небезопасным транспортным протоколом:

export ASPIRE_ALLOW_UNSECURED_TRANSPORT=true

Кроме того, вы можете управлять этим с помощью профиля запуска, так как он предоставляет возможность настраивать переменные среды для каждого профиля. Для этого рассмотрим следующие примеры параметров в файле 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"
      }
    }
  }
}

В предыдущем примере показаны два профиля, https и http. Профиль https настроен с помощью безопасного транспортного протокола, а профиль http настроен с использованием небезопасного транспортного протокола. Переменная среды ASPIRE_ALLOW_UNSECURED_TRANSPORT в профиле http установлена на значение true для разрешения небезопасной передачи данных.