为Azure Web App配置它时出现Application Gateway 502错误

时间:2019-04-09 22:00:57

标签: azure azure-application-gateway

场景

配置的Azure应用程序网关将流量路由到不同的Azure Web Apps,以利用Web应用程序防火墙(WAF)。

除浏览器中的最终URL为{mysite} .azurewebsites.net以外,初始配置工作正常。我希望这是自定义域名{subdomain}。{mysite} .com。这是通过将后端池绑定到应用程序服务来配置的。将其更改为FQDN不起作用。下面的屏幕截图。

CNAME已指向网关。

所需结果

当有人点击{subdomain}。{mysite} .com(已经配置为指向网关)时,我应该获得{subdomain}。{mysite} .com,而不是{mysite} .azurewebsites.net

当前设置

该网关配置有多站点侦听器,其规则指向后端池,并且还绑定到http设置。

监听器正在{subdomain}。{mysite} .com

上监听

后端池配置 pool config

探针配置 probe config

Http设置配置 setting config

以下链接提供了部分答案/配置,但没有一个对我有用。 Application Gateway - 502 error

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门户UI在Azure应用程序网关和WAF(Web应用程序防火墙)后面的自定义域中配置azure应用程序服务的步骤列表。

  1. 配置后端池,使其目标指向您的App Service。
  2. 使用以下设置配置运行状况探针

    • 协议:HTTP或HTTPS
    • 主机:{appservice} .azurewebsites.net
    • 路径:/
  3. 配置Http设置

    • 未选中使用App Service。
    • 使用自定义探针已选中
    • 未选中从后端地址中选择主机名(您可能必须选中此复选框以配置规则,然后再取消选中它)。
  4. 配置监听器

    • 主机名:{subdomain}。{domain} .com(您的域)
  5. 配置基本规则

    • 将其绑定到适当的http设置,后端池和侦听器
    • 注意:如果没有选中从后端选择主机名的http设置,则可能需要更改它,将其附加,然后再次删除该标志。

1 个答案:

答案 0 :(得分:1)

可能是因为在后端池的目标中更改为FQDN subdomain.mysite.com,所以您收到502错误。但是,在这种情况下,您尚未更改Web应用程序服务中的自定义域,只能通过默认域mysite.azurewebsites.net访问该网站。我建议改回目标中的App服务。

  

初始配置工作正常,除了   浏览器是{mysite} .azurewebsites.net。

请检查Web应用程序服务的HTTPS Only中是否有ON设置Custom domains。这会将所有Http重定向到Https。通常,对我来说,它将导致浏览器中的最终URL为mysite.azurewebsites.net

更新

如果您没有使用HTTPS Only,则可能由于以下主要原因导致发生此问题:

  
      
  • 您已在App Service上配置了重定向。重定向可以像向请求添加尾部斜杠一样简单。
  •   
  • 您具有导致重定向的Azure AD身份验证。
  •   
  • 您已在Application Gateway的HTTP设置中启用了“从后端地址选择主机名”开关。
  •   
  • 您没有在应用服务中注册自定义域。
  •   

可以通过在应用程序端不进行重定向来解决此问题,但是,如果无法进行重定向,则可以按照此solution来解决。

  1. 将域subdomain.mysite.com注册到App Service的自定义域列表中。有关更多信息,请参见Map an existing custom DNS name to Azure App Service.
  2. 完成此操作后,您的App Service就可以接受主机名subdomain.mysite.com。现在,在DNS中更改您的CNAME条目,使其指向应用程序网关的FQDN。例如,appgw.eastus.cloudapp.azure.com
  3. 在探针设置中取消选中复选框Pick Hostname from Backend HTTP Settings。在探针的主机名字段中,输入您的App Service的FQDN mysite.azurewebsites.net,因为从Application Gateway发送的探针请求会将其携带在主机头中。
  4. 取消选中Application Gateway的HTTP设置中的复选框Pick Hostname from Backend Address
  5. 将自定义探针重新关联到后端HTTP设置,并验证后端运行状况是否正常。

完成此操作后,Application Gateway现在应该将相同的主机名subdomain.mysite.com转发到App Service,并且重定向将在相同的主机名上进行。