Ошибка шлюза приложений 502 при настройке его для Azure Web App - PullRequest
1 голос
/ 10 апреля 2019

Сценарий :

Настроен шлюз приложений Azure для маршрутизации трафика в различные веб-приложения Azure для использования брандмауэра веб-приложений (WAF).

Первоначальная настройка работала нормально, за исключением того, что последний URL в браузере - {mysite} .azurewebsites.net.Я хочу, чтобы это было пользовательское имя домена {subdomain}. {Mysite} .com.Это было настроено путем привязки внутреннего пула к службе приложений.Изменение его на полное доменное имя не работает.Снимки экрана ниже.

CNAME уже указывает на шлюз.

Желаемый результат

Когда кто-то нажимает {subdomain}. {Mysite} .com (который уже настроен для указания на шлюз), я должен получить {subdomain}.{mysite} .com not {mysite} .azurewebsites.net

Текущая настройка :

В шлюзе настроен многосайтовый приемник, правило которого указывает навнутренний пул, а также привязанный к настройке http.

Слушатель прослушивает {поддомен}. {Mysite} .com

Конфигурация внутреннего пула pool config

Конфигурация зонда probe config

Конфигурация настройки Http setting config

Следующие ссылки предоставляют некоторые частичные ответы / конфигурации, но ни одна из них не работала для меня. Шлюз приложений - ошибка 502

https://docs.microsoft.com/en-us/azure/application-gateway/troubleshoot-app-service-redirection-app-service-url

https://docs.microsoft.com/en-us/azure/application-gateway/create-web-app

ОБНОВЛЕНИЕ

Вотсписок шагов, используемых для настройки службы приложения Azure с настраиваемым доменом за шлюзом приложений Azure и WAF (брандмауэр веб-приложений) с использованием пользовательского интерфейса портала Azure.

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

    • Протокол: HTTP или HTTPS
    • Хост: {appservice} .azurewebsites.net
    • Путь: /
  3. Настроить настройку Http

    • Использовать службу приложений не проверено.
    • Использовать пользовательский пробник флажок .
    • Выбор имени хоста из обратного адреса снят (возможно, вам придется проверить это, чтобы настроить правило, а затем снять флажок).
  4. Настройка прослушивателя

    • HostName: {subdomain}. {Domain} .com (ваш домен)
  5. Настроить основное правило

    • Свяжите его с соответствующими настройками http, пулом бэкэнда и слушателем
    • Предупреждение: если нет настроек http с выбранным именем хоста из бэкэнда,вам может понадобиться изменить его, прикрепить и снова удалить этот флаг.

1 Ответ

1 голос
/ 10 апреля 2019

Вероятно, вы получаете ошибку 502, потому что вы изменили на FQDN subdomain.mysite.com в целях пула бэкэнда.Однако в этом сценарии вы не изменили настраиваемые домены в службе веб-приложений, доступ к веб-сайту можно получить только через домен по умолчанию mysite.azurewebsites.net.Я предлагаю вернуться к службе приложений в целях.

Первоначальная настройка работала нормально, за исключением того, что конечный URL-адрес в браузере - {mysite} .azurewebsites.net.

Проверьте, есть ли у вас HTTPS Only настройка ON в Custom domains службы веб-приложений.Это перенаправит все Http в Https.Для меня, как правило, это приведет к тому, что окончательный URL-адрес в браузере будет mysite.azurewebsites.net.

Обновление

Если у вас нет HTTPS Only, эта проблема может возникнуть из-за следующихосновные причины:

  • В службе приложений настроено перенаправление.Перенаправление может быть таким же простым, как добавление завершающего слеша к запросу.
  • У вас есть проверка подлинности Azure AD, которая вызывает перенаправление.
  • В настройках HTTP шлюза приложений вы включили переключатель «Выбрать имя хоста с внутреннего адреса».
  • У вас нет зарегистрированного пользовательского домена в службе приложений.

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

  1. Зарегистрируйте домен subdomain.mysite.com в списке пользовательских доменов Службы приложений.Дополнительные сведения см. В Сопоставление существующего настраиваемого DNS-имени со службой приложений Azure.
  2. Как только это будет сделано, ваша служба приложений готова принять имя хоста subdomain.mysite.com.Теперь измените запись CNAME в DNS, чтобы она указала на полное доменное имя шлюза приложений.Например, appgw.eastus.cloudapp.azure.com.
  3. Снимите флажок Pick Hostname from Backend HTTP Settings в настройках датчика.В поле имени хоста зонда введите полное доменное имя службы приложений mysite.azurewebsites.net, поскольку запросы зондов, отправленные с шлюза приложений, будут переносить его в заголовок хоста.
  4. Снимите флажок Pick Hostname from Backend Address в настройках HTTP шлюза приложений..
  5. Свяжите пользовательский зонд обратно с настройками бэкэнда HTTP и проверьте работоспособность бэкенда, если он исправен.

После того, как это будет сделано, шлюз приложений теперь должен переслать то же имя хоста subdomain.mysite.com в службу приложений, и перенаправление будет происходить на том же имени хоста.

...