为Azure Web App配置应用程序网关502时出错

为Azure Web App配置应用程序网关502时出错,azure,azure-application-gateway,Azure,Azure Application Gateway,场景: 已配置Azure应用程序网关以将流量路由到不同的Azure Web应用程序,以利用Web应用程序防火墙(WAF) 除了浏览器中的最终URL是{mysite}.azurewebsites.net之外,初始配置工作正常。我希望这是自定义域名{subdomain}.{mysite}.com。这是通过将后端池绑定到应用程序服务来配置的。将其更改为FQDN无效。下面是屏幕截图 CNAME已指向网关 期望的结果 当有人点击{subdomain}.{mysite}.com(已经配置为指向网关)时,我应

场景

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

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

CNAME已指向网关

期望的结果

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

当前设置

网关配置了一个多站点侦听器,其规则指向后端池,并绑定到http设置

侦听器正在{subdomain}.{mysite}.com上侦听

后端池配置

探测配置

Http设置配置

以下链接提供了一些部分答案/配置,但没有一个适合我。

更新 以下是使用azure门户UI在azure应用程序网关和WAF(Web应用程序防火墙)后面配置azure应用程序服务的步骤列表

  • 配置后端池,目标指向您的应用程序服务
  • 使用以下设置配置Health Probe

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

    • 未选中使用应用程序服务
    • 使用已选中的自定义探针
    • 从未选中的后端地址中选择主机名(您可能必须选中此项以配置规则,然后取消选中它)
  • 配置侦听器

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

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

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

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

    请检查您是否在web app服务的
    自定义域
    中设置了
    仅限HTTPS
    。这将把所有Http重定向到Https。对我来说,通常情况下,它会导致浏览器中的最终URL是mysite.azurewebsites.net

    更新 如果您没有启用
    HTTPS Only
    ,则此问题可能是由于以下主要原因造成的:

    • 您已在应用程序服务上配置重定向。重定向可以很简单,只需在请求中添加一个尾随斜杠
    • 您具有Azure AD身份验证,这会导致重定向
    • 您已在应用程序网关的HTTP设置中启用了“从后端地址选择主机名”开关
    • 您没有在应用程序服务中注册自定义域
    这个问题可以通过在应用程序端不进行重定向来解决,但是,如果不可能,您可以按照这个方法来解决

  • 将域
    subdomain.mysite.com
    注册到应用程序服务的自定义域列表中。有关详细信息,请参阅
  • 完成后,您的应用程序服务即可接受主机名
    subdomain.mysite.com
    。现在更改DNS中的CNAME条目,将其指向应用程序网关的FQDN。例如,
    appgw.eastus.cloudapp.azure.com
  • 取消选中探测设置中的复选框
    从后端HTTP设置中选择主机名
    。在探测的主机名字段中,输入应用程序服务的FQDN
    mysite.azurewebsites.net
    ,因为从Application Gateway发送的探测请求将在主机头中包含此项
  • 在应用程序网关的HTTP设置中,取消选中复选框
    从后端地址拾取主机名
  • 将自定义探测关联回后端HTTP设置,并验证后端运行状况是否正常

  • 完成此操作后,应用程序网关现在应该将相同的主机名
    subdomain.mysite.com
    转发到应用程序服务,并且重定向将在相同的主机名上进行

    谢谢你的意见。目标上的FQDN为subdomain.mysite.com。如果我更改为azure网站域,我可以通过subdomain.mysite.com访问它,但它会被重定向到azure网站域。这就是问题所在。不,我的网站未配置为仅HTTPS。您的web应用程序代码中有任何重定向规则吗?或者在应用程序网关规则中是否有
    配置重定向
    ?默认情况下,我不会面对此重定向。如果web app服务中没有自定义域,则无法在目标中添加subdomain.mysite.com,因为运行状况探测将失败。如果应用程序端有重定向。您可以按照此操作来避免重定向。请让我知道更新后的回复是否有帮助。我将尝试您的解决方案并让您知道。谢谢我是根据你的建议来做的。我将更新我的问题,并说明为此采取的步骤。谢谢