You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过应用程序网关公网IP访问Azure App Service

问题描述
  • 环境配置:
    • 基于PHP 8的基础Azure App Service(名称myapp),使用B2规格App Service计划
    • WAF_v2层应用程序网关,监听器端口设为80,后端HTTP协议为HTTP,后端池仅包含myapp
  • 异常现象:
    • 直接访问myapp.azurewebsites.net的HTTPS链接可正常打开
    • 通过应用网关公网IP(HTTP 80端口)访问时出现错误:错误截图
    • 应用网关后端健康状态显示为健康
    • 已关闭App Service的HTTPS Only选项,问题仍未解决:App Service配置截图
  • 后端HTTP设置现状:后端HTTP设置截图
排查与解决步骤
  1. 修正后端HTTP设置的主机头
    Azure App Service依赖正确的主机头路由请求,从后端HTTP设置截图来看,需确认后端主机名配置:

    • 进入应用网关的后端HTTP设置页面,将后端主机名设置为myapp.azurewebsites.net,或选择「从后端目标获取」选项,确保请求携带正确的主机头到达App Service。
  2. 验证请求路由规则关联关系
    检查应用网关的请求路由规则,确认其已正确关联80端口的监听器、目标后端HTTP设置和后端池,避免因规则配置错误导致请求无法转发。

  3. 检查App Service访问限制
    进入App Service的「网络」->「访问限制」页面,确认是否存在阻止应用网关IP的规则。若有,需将应用网关的公网IP或其所属虚拟网络的IP段添加至允许列表。

  4. 查看日志定位请求异常

    • 应用网关:启用并查看ApplicationGatewayAccessLog诊断日志,检查请求是否成功转发至后端,以及返回的状态码和错误信息。
    • App Service:通过「日志流」或「诊断日志」查看是否接收到来自应用网关的请求,确认请求的主机头、协议等参数是否符合预期。
  5. 测试App Service的HTTP访问能力
    关闭HTTPS Only后,直接访问http://myapp.azurewebsites.net,若此访问也失败,说明App Service自身存在HTTP配置问题:

    • 检查PHP应用的.htaccess文件或框架配置,确认是否存在强制HTTPS重定向的规则,需临时禁用此类规则测试。
  6. 尝试切换后端协议为HTTPS
    若上述步骤无效,可将应用网关后端HTTP设置的协议改为HTTPS、端口设为443,Azure应用网关默认信任App Service的托管SSL证书,此配置可规避隐性的HTTPS重定向冲突。

内容的提问来源于stack exchange,提问作者Saurav Likhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:33:16