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


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

В этой статье объясняется, как настроить общие параметры для веб-приложений, мобильного серверного сервера или приложения API. Если вы используете Функции Azure, см. статью Справочник по параметрам приложений для Функций 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. Вы можете безопасно хранить рабочие секреты, такие как пароль базы данных Azure MySQL, в службе приложений. Тот же код использует параметры разработки при локальной отладке. Он использует ваши производственные секреты при развертывании приложения в Azure.

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

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

Примечание.

Если вы храните секреты в параметрах приложения, рассмотрите возможность использования ссылок Azure Key Vault. Если секреты предназначены для подключения к внутренним ресурсам, рассмотрите варианты подключения, которые более безопасны и не требуют секретов. Дополнительные сведения см. в статье "Безопасное подключение к службам и базам данных Azure из Azure App Service".

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

  2. В меню слева приложения выберите Параметры, >. Затем выберите параметры приложения.

    Снимок экрана: выбор параметров приложения.

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

    Примечание.

    Разрешения пользователя на чтение и запись необходимы для просмотра этого раздела на портале Azure. Встроенные роли RBAC, имеющие достаточные разрешения, это Владелец, Вкладчик и Вкладчик веб-сайта. Одна только роль читателя не даст доступа к этой странице.

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

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

    Примечание.

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

  5. По завершении нажмите кнопку "Применить". Затем выберите Применить на странице переменных среды.

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

  1. Выберите "Дополнительно изменить".
  2. Измените параметры в текстовой области.
  3. По завершении нажмите кнопку ОК. Затем выберите Применить на странице переменных среды.

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

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

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

В этом разделе описывается настройка строк подключения.

Примечание.

Рассмотрите варианты подключения, которые более безопасны и не требуют секретов подключения. Дополнительные сведения см. в статье "Безопасное подключение к службам и базам данных Azure из Azure App Service".

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

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

В одном случае может потребоваться использовать строки подключения вместо параметров приложения для языков non-.NET. Некоторые типы баз данных Azure создаются вместе с приложением , только если вы настраиваете строку подключения для базы данных в приложении службы приложений. Дополнительные сведения см. в разделе Создание пользовательской резервной копии. Если вам не нужна автоматическая резервная копия, используйте параметры приложения.

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

  • SQL Server: SQLCONNSTR_
  • MySQL: MYSQLCONNSTR_
  • Sql Azure: SQLAZURECONNSTR_
  • Настроенная: CUSTOMCONNSTR_
  • PostgreSQL: POSTGRESQLCONNSTR_
  • Центры уведомлений Azure: NOTIFICATIONHUBCONNSTR_
  • Служебная шина Azure: SERVICEBUSCONNSTR_
  • Центры событий Azure: EVENTHUBCONNSTR_
  • Azure Cosmos DB: DOCDBCONNSTR_
  • Кэш Redis: REDISCACHECONNSTR_

Примечание.

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

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

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

Примечание.

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

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

  2. В меню слева приложения выберите Параметры, >. Затем выберите строки подключения.

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

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

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

  5. По завершении нажмите кнопку "Применить". Затем выберите Применить на странице переменных среды.

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

  1. Выберите "Дополнительно изменить".
  2. Измените строки подключения в текстовой области.
  3. По завершении нажмите кнопку "Применить". Не забудьте также выбрать Применить на странице Переменные среды.

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

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

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

Сведения о настройке параметров стека языка см. в следующих ресурсах:

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

Чтобы настроить общие параметры, выполните действия для предпочитаемых средств.

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

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

    Снимок экрана: выбор для открытия общих параметров.

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

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

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

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

    • Платформа: выберите 32-разрядную или 64-разрядную версию. Только для приложений для Windows.

    • Состояние FTP: разрешить только FTPS или отключить FTP полностью.

    • ВЕРСИЯ HTTP: установите значение 2.0 , чтобы включить поддержку протокола HTTPS/2 .

      Примечание.

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

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

    • AlwaysOn: включите, если вы хотите сохранить приложение загружено, даже если нет трафика.

      При отключении AlwaysOn (по умолчанию) приложение выгрузится через 20 минут без входящих запросов. Выгруженное приложение может вызвать высокую задержку для новых запросов из-за времени на разогрев.

      При включении AlwaysOn интерфейсная подсистема балансировки нагрузки отправляет GET запрос в корневой каталог приложения каждые пять минут. Постоянный пинг предотвращает выгрузку приложения.

      AlwaysOn требуется для непрерывных веб-заданий или веб-заданий, которые активируют выражение cron.

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

    • Прокси-сервер для привязки сеансов: рекомендуется включить, если ваше приложение находится за обратным прокси-сервером (например, шлюз приложений Azure или Azure Front Door) и вы используете стандартное имя хоста. Домен для файла cookie привязки сеансов соответствует переданному имени хоста от обратного прокси-сервера.

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

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

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

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

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

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

Параметр настройки документов по умолчанию предназначен только для приложений Windows.

  1. На портале Azure найдите и выберите Службы приложений, а затем выберите приложение.
  2. В меню слева приложения выберите "Конфигурация". Затем выберите документы по умолчанию.
  3. Чтобы добавить документ по умолчанию, нажмите кнопку "Создать документ". Чтобы удалить документ по умолчанию, выберите "Удалить " справа.

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

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

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

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

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

  3. Выберите новое виртуальное приложение или каталог. Затем выполните одно из следующих действий:

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

    Снимок экрана с вариантами отображения флажка

  4. Нажмите OK. Затем нажмите кнопку "Сохранить " на странице "Конфигурация ".

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

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

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

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

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

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

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

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