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

迁移ASP.NET Web应用至Windows Server 2022后WebResource.axd加载失败(403禁止访问)

迁移ASP.NET Web应用至Windows Server 2022后WebResource.axd加载失败(403禁止访问)

遇到这种WebResource.axd的403问题确实挺闹心的,我之前迁移老ASP.NET应用到新服务器时也碰到过类似情况。结合你本地IIS Express正常、服务器端IIS+Plesk出问题的场景,大概率是服务器端的配置或权限细节没到位,给你几个针对性的排查方向:

  • 检查ASP.NET的服务器注册状态
    Windows Server 2022上的IIS可能没有正确注册ASP.NET运行环境,尤其是你的应用基于较老版本的.NET Framework时。以管理员身份打开命令提示符,找到对应.NET版本的aspnet_regiis.exe(比如.NET 4.x的路径一般是C:\Windows\Microsoft.NET\Framework\v4.0.30319或Framework64下),运行命令:aspnet_regiis.exe -i完成注册。同时在IIS管理器里,检查网站的ISAPI筛选器,确保ASP.NET相关的筛选器存在且处于启用状态。

  • 验证IIS身份与处理程序映射配置
    你已经给Plesk生成的身份设置了目录权限,但还要确认:

    1. IIS网站的身份验证中,匿名身份验证已启用,且匿名用户使用的是Plesk配置的应用池身份(或确保IIS_IUSRS组对网站目录有读权限);
    2. 查看IIS的处理程序映射,确认.axd对应的ASP.NET处理程序(比如System.Web.UI.PageHandlerFactory)存在且未被禁用——WebResource.axd是ASP.NET内置的资源处理程序,一旦这个映射出问题就会导致访问被拒。
  • 排查IIS请求过滤规则
    IIS自带的请求过滤可能误拦截了.axd后缀的请求。在IIS管理器的网站级别打开请求过滤:

    • 切换到“文件扩展名”标签,检查是否存在拒绝.axd的规则,若有则删除;
    • 再看“隐藏段”标签,确认WebResource.axd不在列表中,若存在则移除。
  • 检查Plesk的附加安全限制
    Plesk自带的安全模块(比如ModSecurity)可能会把WebResource.axd的请求误判为恶意请求。你可以暂时禁用Plesk的Web应用程序防火墙(ModSecurity)试试,如果问题解决了,再去配置规则排除/WebResource.axd路径的拦截。另外也可以检查Plesk里的URL重写规则,有没有不小心拦截了该路径。

  • 确认应用程序池的配置匹配
    确保服务器上应用程序池的.NET Framework版本和你本地开发环境完全一致,托管模式建议选择集成模式(经典模式下容易出现处理程序映射兼容问题,尤其是.NET 2.0以上的应用)。

如果以上方法还没解决,可以试试启用IIS的失败请求跟踪(FRT),它能详细记录403错误是由哪个模块触发的(比如权限模块、请求过滤模块等),帮你精准定位问题根源。

备注:内容来源于stack exchange,提问作者Bernd Morgeneyer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 07:53:04