应用网关对接Web App后端:域名解析及访问异常求助
问题核心原因
Web App默认的强制HTTPS跳转机制,加上主机头配置不匹配,导致请求被Web App直接重定向到自身原生域名,同时端口混用(HTTP 80与HTTPS 443)引发访问失败,流量未按预期通过应用网关流转。
具体解决步骤
禁用Web App强制HTTPS跳转
进入Azure门户的目标Web App资源,找到「TLS/SSL设置」,关闭「HTTPS 仅」选项。此举避免Web App自动将HTTP请求重定向到HTTPS,防止绕过应用网关。修正应用网关后端主机名覆盖配置
在应用网关的后端设置中,将主机名覆盖的值设置为自定义域名www.mydomain.club,而非Web App原生域名mywebapp.azurewebsites.net。确保应用网关以自定义主机头发送请求,Web App会基于该主机头正确响应,不再跳转至自身域名。优化DNS记录配置
优先使用CNAME记录:将www.mydomain.club的CNAME记录指向应用网关的DNS名称mydns.eastus.cloudapp.azure.com(A记录易因应用网关IP变动失效,CNAME更稳定)。可通过nslookup www.mydomain.club命令验证解析结果是否正确指向应用网关。确认应用网关监听器与路由规则
检查应用网关的HTTP监听器是否配置为监听80端口,且关联的路由规则正确指向Web App后端池。若后续需HTTPS访问,应在应用网关层面配置SSL证书、监听443端口,后端仍以80端口访问Web App,避免Web App层面的HTTPS逻辑干扰流量路径。限制Web App仅接受应用网关流量
在Web App的「网络」-「访问限制」中,添加规则允许应用网关的公共IP访问,同时设置「拒绝所有其他流量」。确保只有通过应用网关的请求才能访问Web App,杜绝直接访问原生地址的情况。
内容的提问来源于stack exchange,提问作者kay1188

