求助:Azure App Services上的ASP.NET站点莫名重定向至无效页面
我之前帮同事处理过几乎一模一样的问题,这种突然跳转到随机路径的情况,大概率和Azure环境特有的配置或者内置机制有关,给你几个具体的排查方向:
先确认Azure的详细日志是否真的采集到了重定向请求
你说检查了日志但没发现信息,可能是默认日志级别不够。建议开启App Service里的失败请求跟踪日志,同时把Web服务器日志的级别调到“详细”。开启后再复现问题,就能看到重定向的发起方(是ASP.NET代码、IIS模块还是Azure前端),以及完整的请求头信息,这一步是最关键的,能直接定位根源。检查强制HTTPS和重写规则的冲突
如果你的站点开启了Azure App Service的“总是开启HTTPS”设置,同时web.config里又有自定义的URL重写规则,可能会出现异常重定向。可以临时关闭“总是开启HTTPS”测试一下,如果问题消失,就需要调整web.config里的重写规则,确保和Azure的HTTPS重定向逻辑兼容。排查是否存在Azure内置的安全验证机制触发的重定向
Azure App Service有一些内置的安全防护,比如针对可疑请求的临时重定向验证(比如机器人检测)。你可以尝试在请求里添加标准的User-Agent头,或者测试从不同的IP地址访问,看是否还有随机路径的重定向。另外,检查App Service的“网络”设置里是否开启了防火墙或者其他访问限制,这些也可能导致异常跳转。排除代码或依赖库的环境特定逻辑
虽然本地IIS没问题,但有些ASP.NET库或者第三方组件可能会根据部署环境(比如检测到Azure App Service)触发不同的行为。可以检查你的代码里是否有针对ASPNETCORE_ENVIRONMENT或者Azure特定环境变量的重定向逻辑,或者是否使用了某些会话状态管理组件(比如Redis缓存)导致的异常跳转。检查App Service实例的状态
偶尔也会遇到App Service实例异常导致的请求路由错误。你可以尝试重启App Service实例,或者切换到不同的应用服务计划(比如从免费层临时升级到基础层)测试,看问题是否消失。
内容的提问来源于stack exchange,提问作者user1365247

