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

Azure Web App无法加载.json文件的问题排查求助

解决Azure Web App中.json文件无法加载的404问题

从你描述的情况和Azure诊断日志里的SECURITY_DENIED_BY_MIMEMAP警告来看,核心问题是IIS服务器没有为.json文件配置正确的MIME类型映射,导致服务器拒绝提供该静态文件,从而返回404错误。虽然.js文件属于IIS默认允许的静态资源类型,但.json并不在默认列表里,所以即使路径完全正确,也会被安全规则拦截。

快速解决方法:添加Web.config配置MIME类型

这是最直接有效的方案,只需在你的项目根目录添加或修改Web.config文件,添加.json的MIME映射规则:

<configuration>
  <system.webServer>
    <staticContent>
      <!-- 为.json文件添加MIME类型映射 -->
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
  </system.webServer>
</configuration>

添加完成后,将这个文件提交到GitHub仓库,重新部署到Azure Web App即可。服务器会自动读取这个配置,允许.json文件作为静态资源被访问。

其他排查和补充步骤

  • 确认文件是否正确部署:可以通过Azure门户的「高级工具」→「Kudu控制台」,进入网站的site/wwwroot目录,检查你的clauses_array.json是否存在于指定路径下,避免部署时文件被遗漏(比如.gitignore不小心包含了.json文件)。
  • 测试直接访问URL:在浏览器地址栏直接输入https://easyfabric.azurewebsites.net/js/clauses_array.json,如果配置生效,应该能看到文件内容;如果还是404,再检查Web.config是否被正确应用。
  • 检查Azure门户的静态文件设置:在Web App的「配置」→「常规设置」里,确认「静态文件」选项是开启状态;也可以在「配置」→「MIME类型」里手动添加.json的映射(不过通过Web.config配置更便于版本管理)。

为什么之前正常突然失效?

大概率是你修改路径测试后,重新部署时覆盖了之前包含MIME配置的Web文件,或者之前的部署环境(比如本地测试的IIS Express)默认允许.json访问,但Azure的生产环境IIS默认不包含这个配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:32:36