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

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

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

Примечание.

  • Имена параметров приложения могут содержать только буквы, цифры (0–9), периоды ("."), а также символы подчеркивания ("_")
  • Специальные символы в значении параметра приложения должны быть экранироваться по мере необходимости целевой ОС.

Например, чтобы задать переменную среды в Служба приложений Linux со значением "pa$$w0rd\" строки для параметра приложения, должно быть:"pa\$\$w0rd\\"

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

Для разработчиков 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.

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

    Search for App Services

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

    Application Settings

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

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

  4. В диалоговом окне можно прикрепить параметр к текущему слоту.

    Примечание.

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

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

Групповое изменение параметров приложения

Нажмите кнопку "Дополнительно изменить ". Измените параметры в текстовой области. По завершении нажмите кнопку "Обновить". Не забудьте выбрать "Сохранить обратно" на странице "Конфигурация".

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

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

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

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

Application Settings

Для разработчиков 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_

Примечание.

Приложения .NET, предназначенные для PostgreSQL, должны задать для строка подключения значение Custom в качестве обходного решения для известной проблемы в .NET EnvironmentVariablesConfigurationProvider

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

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

Примечание.

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

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

    Search for App Services

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

    Application Settings

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

  3. Чтобы добавить новый строка подключения, нажмите кнопку "Создать строка подключения". Чтобы изменить строка подключения, нажмите кнопку "Изменить" справа.

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

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

Групповое изменение строк подключения

Нажмите кнопку "Дополнительно изменить ". Измените строки подключения в текстовой области. По завершении нажмите кнопку "Обновить". Не забудьте выбрать "Сохранить обратно" на странице "Конфигурация".

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

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

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

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

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

General settings

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

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

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

    General settings for Linux containers

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

    • Скорость платформы: 32-разрядная или 64-разрядная. Только для приложений для Windows.
    • Состояние FTP: возможность разрешить только FTPS или отключить протокол FTP в целом.
    • HTTP version (Версия HTTP): задайте значение 2.0, чтобы включить поддержку протокола HTTPS/2.

    Примечание.

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

    • Веб-сокеты: например, для ASP.NET SignalR или socket.io.

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

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

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

    • Только HTTPS: при включении весь HTTP-трафик перенаправляется на HTTPS.

    • Минимальная версия TLS: выберите минимальную версию шифрования TLS, необходимую для приложения.

  • Debugging (Отладка): включение удаленной отладки для приложений ASP.NET, ASP.NET Core или Node.js. Этот параметр автоматически отключается через 48 часов.

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

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

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

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

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

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

    Default documents

  3. Чтобы добавить документ по умолчанию, нажмите кнопку "Создать документ". Чтобы удалить документ по умолчанию, выберите "Удалить " справа.

Сопоставление URL-пути с каталогом

По умолчанию Служба приложений запускает приложение из корневого каталога кода приложения. Однако некоторые веб-платформы не запускаются в корневом каталоге. Например, Laravel запускается в подкаталоге public. Такое приложение будет доступно по адресу http://contoso.com/public, например, но обычно требуется направить http://contoso.com в каталог public. Если файл запуска приложения находится в другой папке или в репозитории имеется несколько приложений, можно изменить или добавить виртуальные приложения и каталоги.

Внимание

Виртуальный каталог для функции физического пути доступен только в приложениях Windows.

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

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

  3. Выберите новое виртуальное приложение или каталог.

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

    Directory check box

  4. Нажмите ОК.

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

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

Чтобы добавить пользовательский обработчик, выполните следующие действия:

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

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

    Path mappings

  3. Выберите сопоставление нового обработчика. Настройте обработчик следующим образом.

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

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

Следующие шаги