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

Azure App Service中自定义错误重定向页面无法正常工作求助

解决Azure App Service中自定义错误设置失效的问题

我之前在Azure App Service上折腾自定义错误页面时,也碰到过和你一模一样的情况——改了web.config的<customErrors>和<deployment>节点完全没效果,毕竟Azure App Service的运行环境和本地IIS确实有差异,给你几个亲测有效的排查和解决步骤:

  • 先检查Azure门户的内置错误配置
    Azure App Service有自己的错误页面管控逻辑,不是只看web.config。登录Azure门户,找到你的应用服务:

    1. 进入「配置」>「常规设置」,确认「HTTP版本」选择的是1.1或2.0(有些旧版本配置可能不兼容);
    2. 切换到「错误页面」选项卡,看看是否开启了「自定义错误」,如果之前在这里设置过全局错误页面,会覆盖web.config的配置。
  • 确认web.config的节点位置和结构
    一定要保证配置节点放在正确的层级,很多时候失效都是因为节点位置错了:

    <configuration>
      <!-- deployment节点要放在configuration根节点下 -->
      <deployment retail="false"/>
      <system.web>
        <!-- customErrors必须在system.web节点内 -->
        <customErrors mode="Off" defaultRedirect="Error.aspx"/>
      </system.web>
    </configuration>
    

    另外,如果你是ASP.NET Core应用,<customErrors>已经被废弃了,要改用中间件处理:

    // 在Program.cs中添加
    app.UseExceptionHandler("/Error");
    
  • 排查Error.aspx页面本身的问题
    有时候不是customErrors没生效,而是你的Error.aspx页面本身无法正常访问:

    1. 直接访问https://你的应用域名/Error.aspx,看看能不能打开;
    2. 检查页面的权限设置,确保App Service的运行身份(比如AppPoolIdentity)有访问该页面的权限;
    3. 如果Error.aspx里有代码逻辑,确认它不会抛出新的错误,否则会陷入错误循环。
  • 开启详细日志定位根本原因
    开启Azure的详细错误日志,能帮你找到真正的问题:

    1. 进入应用服务的「监控」>「应用服务日志」;
    2. 开启「详细错误日志」(可以选择存储在文件系统或Blob),设置保留时间;
    3. 触发一次错误,然后通过「高级工具(Kudu)」>「Debug console」>「LogFiles」目录查看详细错误日志,里面会记录customErrors是否被触发、有没有路径错误等信息。
  • 检查部署过程中的配置覆盖
    如果你用CI/CD工具(比如Azure DevOps、GitHub Actions)部署,要确认部署配置没有修改web.config:

    • 比如Azure DevOps的发布任务中,是否开启了「替换web.config中的参数」,如果有,可能会把你的customErrors设置覆盖掉;
    • 检查发布配置文件(比如Web.Release.config),有没有针对release环境修改customErrors的mode。

内容的提问来源于stack exchange,提问作者lokanath das

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:36:29