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


Устранение неполадок со службой приложений в шлюзе приложений

Узнайте, как диагностировать и устранять проблемы, возникающие при использовании службы приложение Azure в качестве целевого объекта серверной части с Шлюз приложений Azure.

Обзор

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

Первопричиной описанных выше симптомов является настройка, переопределивающая имя узла, используемое Шлюз приложений в сторону Служба приложений в другое имя узла, как показано в браузере. Часто имя узла переопределяется на домен по умолчанию Служба приложений "azurewebsites.net".

Root cause - Application Gateway overwrites hostname to azurewebsites.net

Пример конфигурации

Если конфигурация соответствует одной из следующих двух ситуаций, настройка будет соответствовать инструкциям в этой статье:

  • Выбор имени узла из внутреннего адреса включен в протоколе HTTP Параметры
  • Переопределение с определенным доменным именем имеет значение, отличное от того, что имеет запрос браузера.

Причина

Служба приложений является многоклиентской, поэтому использует заголовок узла в запросе для перенаправления запроса в правильную конечную точку. Доменное имя по умолчанию для служб приложений *. azurewebsites.net (например, contoso.azurewebsites.net) отличается от доменного имени шлюза приложений (например, contoso.com). Серверная Служба приложений отсутствует необходимый контекст для создания URL-адреса перенаправления или файлов cookie, которые соответствуют домену, как показано в браузере.

Решение

Рекомендуется настроить Шлюз приложений и Служба приложений, чтобы не переопределить имя узла. Следуйте инструкциям в разделе "Пользовательский домен (рекомендуется)" в разделе "Настройка Служба приложений с помощью Шлюз приложений

Попробуйте применить другое решение (например, перезапись заголовка location, как описано ниже) после оценки последствий, как описано в статье: сохранение исходного имени узла HTTP между обратным прокси-сервером и серверным веб-приложением. Эти последствия включают потенциал для файлов cookie, привязанных к домену, и для абсолютных URL-адресов за пределами заголовка расположения, чтобы оставаться неисправными.

Обходное решение: перезапись заголовка location

Предупреждение

Эта конфигурация поставляется с ограничениями. Мы рекомендуем проверить последствия использования различных имен узлов между клиентом и Шлюз приложений и между приложением и Служба приложений в серверной части. Дополнительные сведения см. в статье в Центре архитектуры: сохранение исходного имени узла HTTP между обратным прокси-сервером и серверным веб-приложением

Задайте имя узла в заголовке расположения в качестве имени домена шлюза приложений. Для этого создайте правило перезаписи с условием, вычисляющим содержание azurewebsites.net в ответе заголовка расположения. Кроме того, необходимо выполнить перезапись заголовка расположения, чтобы в нем содержалось имя узла шлюза приложений. Дополнительные сведения см. в разделе Перезапись заголовка расположения.

Примечание.

Поддержка перезаписи HTTP-заголовков доступна только для Standard_v2 и WAF_V2 SKU шлюза приложений. Рекомендуется использовать версию 2 для выполнения перезаписи заголовков и других расширенных возможностей, доступных в SKU версии 2.

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

Если описанные выше шаги не устранят проблему, отправьте запрос в службу поддержки.