Azure同VNet内资源无法通过应用网关通信问题求助
以下是导致你遇到的内部资源经App Gateway访问受阻问题的常见原因:
App Gateway后端池配置异常
若后端池未正确包含目标容器应用/静态Web应用的私有FQDN或IP地址,或者健康探针检测失败(比如探针端口、路径与目标服务不匹配),网关会将目标标记为不健康,直接拦截流量。你可以检查App Gateway的后端池成员状态,确认所有目标资源都处于健康可用状态。路由/监听规则不匹配
App Gateway的监听端口、协议(HTTP/HTTPS)需与目标内部资源的服务配置完全一致;同时路由规则必须正确关联对应的监听和后端池。如果监听的是HTTPS但目标资源仅支持HTTP,或者路由规则指向了错误的后端池,都会导致请求被拦截。内部资源的访问控制限制
容器应用或静态Web应用可能配置了访问控制策略,仅允许来自私有子网的流量访问,而App Gateway所在子网的IP段未被加入允许列表。比如容器应用的入口IP限制、静态Web应用的IP访问规则,都会拒绝来自网关的请求。回路路由与DNS解析问题
当内部资源通过App Gateway的公共域名访问同VNet资源时,若DNS解析指向了网关的公网IP,流量会从容器应用子网发往网关,再尝试回传至同VNet目标。但Azure默认路由可能阻止这种回路流量,或者网关子网未配置用户定义路由(UDR)允许将流量转发回VNet内部,导致流量丢包。建议检查内部DNS是否将目标域名解析为私有IP,而非网关公网IP。SSL/TLS配置冲突
若使用HTTPS访问,App Gateway的SSL证书需与目标资源的域名匹配,且目标资源的SSL配置需接受网关的请求。比如目标容器应用的证书不认可网关的请求,或者网关未正确配置后端SSL验证,都会导致握手失败,请求被拦截。
内容的提问来源于stack exchange,提问作者Karim Chaari

