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

Azure App Service(Linux)挂载存储文件无法通过公网URL访问

Linux版Azure App Service挂载Blob容器后公网访问文件报404的排查方案

问题现象

  • 已完成Linux版Azure App Service与Azure Blob容器的挂载配置,遵循官方指南操作
  • Blob容器已开启匿名访问,SSH终端、Kudu工具中均可正常访问挂载目录及其中的文件
  • 通过公网URL访问挂载内文件时返回HTTP 404错误,相同方案在Windows版App Service中可正常运行

排查与解决步骤

1. 检查Web服务器静态资源路径配置

Linux版App Service默认使用Nginx/Apache作为Web服务器,需确保挂载目录被配置为静态资源可访问路径:

  • 若使用Nginx,编辑站点配置文件(路径通常为/etc/nginx/sites-available/default),添加或确认以下规则:
    location /media/ {
        root /home/site/wwwroot;
        try_files $uri $uri/ =404;
    }
    
  • 保存配置后重启Nginx:sudo service nginx restart

2. 修正挂载目录的权限设置

Linux系统权限会限制Web服务器对文件的访问:

  • 执行命令查看挂载目录权限:ls -ld /home/site/wwwroot/media
  • 赋予Web服务器运行用户(通常为www-data或nginx)读取权限:
    sudo chmod -R 755 /home/site/wwwroot/media
    sudo chown -R www-data:www-data /home/site/wwwroot/media
    

3. 确认虚拟应用程序路径映射

在Azure门户的App Service配置中检查路径映射:

  • 进入「配置」>「路径映射」,确认/media路径已配置为虚拟目录/应用程序,物理路径指向/home/site/wwwroot/media

4. 校验文件路径的大小写一致性

Linux系统区分文件名大小写,需确保URL中的路径与实际文件路径完全匹配:

  • 在Kudu中确认media目录下存在目标文件(如naa.jpg),检查文件名大小写是否与URL中的一致

5. 验证存储挂载的类型与路径设置

检查存储挂载的配置参数:

  • 确认挂载类型为「Blob容器」,挂载路径设置为/home/site/wwwroot/media(需与Web服务器的访问路径对应)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 13:33:26