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

如何为ASP.Net Web应用自定义Azure平台的403 Forbidden错误页面

ASP.NET 自定义Azure 403 Forbidden错误页教程

你当前看到的默认Azure 403错误页如下:
默认Azure 403错误页

按以下两个维度配置即可实现自定义错误页:

1. 应用端配置

1.1 ASP.NET Framework 4.x版本

修改Web.config的system.webServer节点,新增自定义错误页规则:

<system.webServer>
  <httpErrors errorMode="Custom" existingResponse="Replace">
    <!-- 移除默认403配置 -->
    <remove statusCode="403" subStatusCode="-1" />
    <!-- 替换为自定义页面,path替换为你自己的错误页路径 -->
    <error statusCode="403" path="/CustomErrors/403.html" responseMode="File" />
    <!-- 如果是MVC项目需要跳转到控制器Action,用如下配置 -->
    <!-- <error statusCode="403" path="/Error/Forbidden" responseMode="ExecuteURL" /> -->
  </httpErrors>
</system.webServer>

1.2 ASP.NET Core/.NET 6+版本

第一步:在Program.cs中注册状态码中间件

var builder = WebApplication.CreateBuilder(args);
// 此处省略你原有服务注册逻辑
var app = builder.Build();

// 放在其他中间件注册的最前面
app.UseStatusCodePagesWithReExecute("/Error/{0}");

// 此处省略你原有中间件配置
app.Run();

第二步:新增错误处理控制器和视图

新建ErrorController.cs,添加403对应的处理逻辑:

public class ErrorController : Controller
{
    [Route("/Error/{statusCode}")]
    public IActionResult Index(int statusCode)
    {
        if(statusCode == 403)
        {
            // 返回你自定义的403视图
            return View("403");
        }
        // 其他状态码处理逻辑
        return View("Error");
    }
}

在Views/Error目录下新增403.cshtml自定义错误页文件即可。

2. Azure App Service配置(必须配置,否则会被Azure默认错误页覆盖)

  • 登录Azure门户,进入对应的App Service资源页
  • 左侧菜单找到「配置」->「常规设置」,确认运行时版本和你应用的.NET版本完全匹配
  • 切换到「应用程序设置」标签,添加键值对:WEBSITE_LOAD_CUSTOM_ERRORS = 1
  • 保存配置后重启App Service生效

注意事项

  • 自定义错误页文件的属性要设置为「如果较新则复制」,确保发布时会被包含在部署包中
  • 测试时使用浏览器无痕模式,避免本地缓存旧的错误页
  • 如果你的应用前面配置了Azure CDN/Front Door,还需要在对应的CDN/Front Door配置中添加自定义403错误页规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:54:04