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

ASP.NET MVC预编译合并部署Azure Web App遇403禁止访问问题求助

Azure Web Apps部署ASP.NET MVC 5应用时出现403.14禁止错误,仅预编译合并为单程序集时触发

我维护着一个已经部署到Azure Web Apps超过7年的ASP.NET MVC 5(基于.NET Framework 4.8)应用。最近遇到了一个非常奇怪的问题:只有在单台电脑的某个特定分支,或者这台电脑上的早期代码版本,才能成功发布到Azure Web Apps。

每次尝试部署其他分支或其他电脑上的代码时,Visual Studio会显示部署成功,但几秒后输出窗口会弹出提示:

A call to warmup your site failed with response code: 'Forbidden'

更新于2023-01-22:现在已经确认,这个问题只在MVC项目预编译并合并为单个程序集的时候才会出现。如果不预编译,或者预编译但不合并成单程序集,那么任意电脑都可以成功发布任意分支的代码。

我完全搞不明白——根据版本控制显示,所有电脑上的代码都是一致的,publish.xml文件也完全相同(除非我关闭合并选项)。

补充观察

  • 对比能正常工作的分支和有问题的分支的部署文件夹,发现只有二进制文件和包含源代码文件路径的文件存在差异;
  • 触发403错误的部署完成后,静态文件请求仍然可以正常响应,但ASP.NET MVC的视图请求会失败;
  • 部署“失败”后,通过FTPS访问站点,所有文件都显示正常且已经就位。

后续编辑

编辑1:当部署“失败”时,浏览器只会显示错误信息:

You do not have permission to view this directory or page.

编辑2:查看App Service的应用日志流后,发现具体的HTTP错误是403.14,由StaticFile处理器导致。我怀疑Web服务器把站点当成了静态站点,没有使用ASP.NET的路由机制。

我现在完全卡在这里了,恳请各位帮忙分析和解决这个问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:45:29