Настройка приложения Службы приложений на портале Azure

В этой статье объясняется, как настроить общие параметры для веб-приложений, серверной части для мобильных устройств или приложения API с помощью [портала Azure].

Настройка параметров приложения

В Службе приложений параметры приложения являются переменными, передаваемыми как переменные среды в код приложения. Для приложений и настраиваемых контейнеров Linux Служба приложений передает параметры приложения в контейнер с помощью флага --env, чтобы задать переменную среды в контейнере. В обоих случаях они внедряются в среду приложения при запуске приложения. При добавлении, удалении или изменении параметров приложения Служба приложений перезапускает приложение.

На Портал Azure найдите и выберите Службы приложений, а затем выберите приложение.

Поиск служб приложений

В меню приложения слева выберите Конфигурация > Параметры приложения.

Параметры приложения

Для разработчиков ASP.NET и ASP.NET Core настройка параметров приложения в Службе приложений выполняется так же, как и настройка их в <appSettings> в Web.config или appsettings.json, но значения в Службе приложений переопределяют значения в Web.config или appsettings.json. Вы можете безопасно сохранить параметры разработки (например, локальный пароль MySQL) в Web.config или appsettings.json, а производственные секреты (например, пароль базы данных MySQL Azure) — в Службе приложений. Один и тот же код использует параметры разработки при локальной отладке, а производственные секреты — при развертывании в Azure.

Другие языковые стеки аналогичным образом получают параметры приложения в виде переменных среды во время выполнения. Инструкции для конкретных стеков языка см. в следующих разделах.

Параметры приложения всегда шифруются при хранении.

Примечание

Параметры приложения можно также разрешить из Key Vault с помощью ссылок на Key Vault.

Отображение скрытых значений

По умолчанию в целях безопасности значения параметров приложения на портале скрыты. Чтобы увидеть скрытое значение параметра приложения, щелкните поле Значение этого параметра. Чтобы просмотреть значения всех параметров приложения, нажмите Показать значение.

Добавление и изменение

Чтобы добавить новый параметр приложения, нажмите Создать параметр приложения. В диалоговом окне можно прикрепить параметр к текущему слоту.

Чтобы изменить параметр, нажмите кнопку Правка справа.

Завершив изменение, нажмите Обновить. Не забудьте снова нажать кнопку Сохранить на странице Конфигурация.

Примечание

В службе приложений Linux по умолчанию или в настраиваемом контейнере Linux любая вложенная структура ключей JSON в имени параметра приложения, например ApplicationInsights:InstrumentationKey, должна указываться в службе приложений для имени ключа как ApplicationInsights__InstrumentationKey. Другими словами, символы : следует заменять на __ (двойное подчеркивание).

Массовое изменение

Чтобы выполнить массовое добавление или изменение параметров приложения, нажмите кнопку Расширенная правка. Завершив изменение, нажмите Обновить. Не забудьте снова нажать кнопку Сохранить на странице Конфигурация.

Параметры приложения задаются в следующем формате JSON.

[
  {
    "name": "<key-1>",
    "value": "<value-1>",
    "slotSetting": false
  },
  {
    "name": "<key-2>",
    "value": "<value-2>",
    "slotSetting": false
  },
  ...
]

Автоматизация параметров приложения с помощью Azure CLI

Azure CLI можно использовать для создания параметров и управления ими из командной строки.

  • Присвойте значение параметру с помощью команды az webapp config app settings set.

    az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings <setting-name>="<value>"
    

    Замените <setting-name> на имя параметра, а <value> — на значение для этого параметра. Эта команда создает параметр, если он еще не существует.

  • Отобразите все параметры и их значения с помощью команды az webapp config appsettings list.

    az webapp config appsettings list --name <app-name> --resource-group <resource-group-name>
    
  • Удалите один параметр или несколько с помощью команды az webapp config app settings delete.

    az webapp config appsettings delete --name <app-name> --resource-group <resource-group-name> --setting-names {<names>}
    

    Замените <names> списком имен параметров, разделенных пробелами.

Настройка строк подключения

На Портал Azure найдите и выберите Службы приложений, а затем выберите приложение. В меню приложения слева выберите Конфигурация > Параметры приложения.

Параметры приложения

Для разработчиков ASP.NET и ASP.NET Core установка строк подключения в Службе приложений выполняется так же, как и установка их в <connectionStrings> в Web.config, но значения, заданные в Службе приложений, переопределяют значения в Web.config. Вы можете безопасно сохранить параметры разработки (например, файл базы данных) в Web.config, а производственные секреты (например, учетные данные базы данных SQL) — в Службе приложений. Один и тот же код использует параметры разработки при локальной отладке, а производственные секреты — при развертывании в Azure.

Для других языковых стеков рекомендуется использовать параметры приложения, так как для доступа к значениям строкам подключения требуется специальное форматирование в переменных ключах.

Примечание

Единственный случай, когда вместо параметров приложения для языков, не относящихся к группе .NET, может быть предпочтительнее использовать строки подключения: некоторые типы Базы данных Azure архивируются вместе с приложением, только если вы настроили строку подключения для базы данных в своем приложении Службы приложений. Дополнительные сведения см. в разделе Что входит в резервную копию. Если вам не нужно автоматическое резервное копирование, используйте параметры приложения.

Во время выполнения строки подключения доступны в виде переменных среды с соответствующими префиксами для каждого типа соединения.

  • SQLServer: SQLCONNSTR_
  • MySQL: MYSQLCONNSTR_
  • SQLAzure: SQLAZURECONNSTR_
  • Пользовательская: CUSTOMCONNSTR_
  • PostgreSQL: POSTGRESQLCONNSTR_

Например, к строке подключения MySql с именем connectionstring1 можно обращаться как к переменной среды MYSQLCONNSTR_connectionString1. Инструкции для конкретных стеков языка см. в следующих разделах.

Строки подключения всегда шифруются при хранении.

Примечание

Строки подключения также можно разрешить из Key Vault с помощью ссылок на Key Vault.

Отображение скрытых значений

По умолчанию в целях безопасности значения для строк подключения на портале скрыты. Чтобы увидеть скрытое значение строки подключения, просто щелкните поле Значение этой строки. Чтобы просмотреть значения всех строк подключения, нажмите кнопку Показать значение.

Добавление и изменение

Чтобы добавить новую строку подключения, нажмите Создать строку подключения. В диалоговом окне можно прикрепить строку подключения к текущему слоту.

Чтобы изменить параметр, нажмите кнопку Правка справа.

Завершив изменение, нажмите Обновить. Не забудьте снова нажать кнопку Сохранить на странице Конфигурация.

Массовое изменение

Чтобы выполнить массовое добавление или изменение строк подключения, нажмите кнопку Расширенная правка. Завершив изменение, нажмите Обновить. Не забудьте снова нажать кнопку Сохранить на странице Конфигурация.

Строки подключения задаются в следующем формате JSON.

[
  {
    "name": "name-1",
    "value": "conn-string-1",
    "type": "SQLServer",
    "slotSetting": false
  },
  {
    "name": "name-2",
    "value": "conn-string-2",
    "type": "PostgreSQL",
    "slotSetting": false
  },
  ...
]

Настройка общих параметров

На Портал Azure найдите и выберите Службы приложений, а затем выберите приложение. В меню приложения слева выберите Конфигурация > Общие параметры.

Общие параметры

Здесь можно настроить некоторые общие параметры для приложения. Для некоторых параметров необходимо выполнить масштабирование до более высокой ценовой категории.

  • Параметры стека: программный стек для запуска приложения, включая версии языка и пакета SDK.

    Для приложений Linux и настраиваемых приложений-контейнеров можно выбрать версию языковой среды выполнения и задать необязательную команду запуска или файл команд запуска.

    Общие параметры для контейнеров Linux

  • Параметры платформы: позволяют настраивать параметры для платформы размещения, включая следующие.

    • Bitness (Разрядность): 32-разрядная или 64-разрядная. (По умолчанию 32-разрядная для Службы приложений, созданной на портале.)

    • WebSocket protocol (Протокол WebSocket): например, для ASP.NET SignalR или socket.io.

    • Always On: приложение остается загруженным даже при отсутствии трафика. Если параметр Всегда включено не включен (по умолчанию), приложение выгружается, если к нему не направляются запросы в течение 20 минут. Выгруженное приложение может вызвать высокую задержку для новых запросов, так как ему нужно снова загрузиться. Если параметр Всегда включено включен, внешняя подсистема балансировки нагрузки отправляет запрос GET к корню приложения каждые пять минут. Непрерывная проверка связи предотвращает выгрузку приложения.

      Параметр "Всегда включено" обязателен для постоянных веб-заданий или для веб-заданий, которые запускаются с помощью выражения CRON.

    • Managed pipeline version (Версия управляемого конвейера): режим конвейера IIS. Если у вас есть устаревшее приложение, для которого требуется более старая версия IIS, задайте значение Classic (Классическая).

    • HTTP version (Версия HTTP): задайте значение 2.0, чтобы включить поддержку протокола HTTPS/2.

    Примечание

    Большинство современных браузеров поддерживают протокол HTTP/2 только через TLS, а для незашифрованного трафика продолжает использоваться протокол HTTP/1.1. Чтобы клиентские браузеры могли подключаться к приложению по протоколу HTTP/2, обеспечьте безопасность настраиваемого DNS-имени. Дополнительные сведения см. в учебнике Защита пользовательского DNS-имени с помощью привязки TLS/SSL в Службе приложений Azure.

    • ARR affinity (Сходство для маршрутизации запросов приложений): в развертывании с несколькими экземплярами убедитесь, что в течение всего сеанса клиент направляется в один и тот же экземпляр. Для приложений без отслеживания состояния этот параметр можно установить в значение Off (Выкл.).
  • Debugging (Отладка): включение удаленной отладки для приложений ASP.NET, ASP.NET Core или Node.js. Этот параметр автоматически отключается через 48 часов.

  • Incoming client certificates (Входящие сертификаты клиента): требование сертификатов клиента при взаимной проверке подлинности.

Настройка документов по умолчанию

Этот параметр существует только для приложений для Windows.

На Портал Azure найдите и выберите Службы приложений, а затем выберите приложение. В меню приложения слева выберите Конфигурация > Документы по умолчанию.

Стандартные документы

Документ по умолчанию — это веб-страница, которая отображается в корневом URL-адресе веб-сайта. Используется первый найденный файл в списке. Чтобы добавить новый документ по умолчанию, нажмите Создать документ. Не забудьте нажать кнопку Сохранить.

Если приложение использует модули, которые выполняют маршрутизацию на основе URL-адреса, а не обслуживают статическое содержимое, нет необходимости в документах по умолчанию.

Настройка сопоставлений путей

На Портал Azure найдите и выберите Службы приложений, а затем выберите приложение. В меню приложения слева выберите Конфигурация > Сопоставления путей.

Сопоставления путей

Примечание

На вкладке Сопоставления путей отображаются параметры, относящиеся к конкретной операционной системе, поэтому они могут отличаться от показанных здесь.

Приложения для Windows (неконтейнерные)

Для приложений для Windows можно настроить сопоставления обработчика IIS и виртуальных приложений и каталогов.

Сопоставления обработчиков позволяют добавлять пользовательские обработчики скриптов, обрабатывающие запросы для определенных расширений файлов. Чтобы добавить пользовательский обработчик, нажмите Создать сопоставление обработчика. Настройте обработчик следующим образом.

  • Расширение. Расширение обрабатываемого файла, например *.php или handler.fcgi.
  • Обработчик скриптов. Абсолютный путь к обработчику скриптов. Обработчиком скриптов будут обрабатываться запросы к файлам, соответствующим указанному расширению. Используйте путь D:\home\site\wwwroot для указания корневого каталога веб-приложения.
  • Аргументы. Необязательные аргументы командной строки для обработчика скриптов.

У каждого приложения есть корневой путь по умолчанию (/), сопоставленный с D:\home\site\wwwroot, где ваш код развертывается по умолчанию. Если корневой каталог приложения находится в другой папке или в репозитории имеется несколько приложений, здесь можно изменить или добавить виртуальные приложения и каталоги.

На вкладке Сопоставления путей щелкните Создать виртуальное приложение или каталог.

  • Чтобы сопоставить виртуальный каталог с физическим путем, установите флажок Каталог. Укажите виртуальный каталог и соответствующий относительный (физический) путь к корню веб-сайта (D:\home).

  • Чтобы пометить виртуальный каталог как веб-приложение, снимите флажок Каталог.

    Флажок "Каталог"

Контейнерные приложения

Вы можете добавить пользовательское хранилище для контейнерного приложения. Контейнерные приложения включают все приложения Linux, а также настраиваемые контейнеры Windows и Linux, работающие в Службе приложений. Нажмите Новое подключение к службе хранилища Azure и настройте пользовательское хранилище следующим образом.

  • Name (Имя): отображаемое имя.
  • Configuration options (Параметры конфигурации): базовые или расширенные.
  • Storage accounts (Учетные записи хранения): учетная запись хранения с нужным контейнером.
  • Storage type (Тип хранилища): BLOB-объекты Azure или Файлы Azure.

    Примечание

    Приложения-контейнеры Windows поддерживают только Файлы Azure.

  • Storage container (Контейнер хранилища): для базовой конфигурации укажите нужный контейнер.
  • Share name (Имя общего ресурса): для расширенной конфигурации укажите имя общей папки.
  • Access key (Ключ доступа): для расширенной конфигурации укажите ключ доступа.
  • Mount path (Путь подключения): абсолютный путь в контейнере для подключения пользовательского хранилища.

Дополнительные сведения см. в статье Доступ к службе хранилища Azure в качестве сетевой папки из контейнера в Службе приложений.

Настройка параметров языкового стека

Настройка пользовательских контейнеров

См. раздел Конфигурация настраиваемого контейнера Linux для Службы приложений Azure.

Дальнейшие действия