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

CapRover配置宿主机静态文件服务返回Nginx 404错误求助

问题根因

  • 你修改的是 CapRover 全局边缘反向代理 Nginx(captain-nginx 服务)的配置,但你配置的持久化目录映射是绑定到你自建的app应用容器上的,captain-nginx容器本身并没有挂载宿主机的/srv/foo路径,因此它在自身文件系统中查找/srv/foo/bar/test.jpg时找不到对应文件,直接返回404。
  • 你设置的/srv/foo/bar目录权限缺少可执行位:当前权限为drw-rw-r--,Nginx 进程需要目录的可执行权限才能进入目录读取内部文件,后续即使路径配置正确,也会出现403权限错误。

修复方案

推荐无需修改全局Nginx配置的稳妥方案:

  1. 把你之前修改的应用Nginx配置恢复为默认的反向代理逻辑。
  2. 你的app应用直接使用官方Nginx镜像,将宿主机/srv/foo/bar路径映射到应用容器内的/usr/share/nginx/html路径,官方Nginx默认配置会直接提供该目录下的静态文件服务。
  3. 修正宿主机目录权限,执行命令chmod -R 755 /srv/foo/bar,给目录添加可执行权限,保证Nginx进程可以正常读取文件。

如果坚持使用修改全局Nginx的方案:

  1. 给captain-nginx服务添加挂载规则,将宿主机/srv/foo映射到captain-nginx容器内的同路径,该操作需要修改CapRover的Docker服务配置,可能影响全局反向代理的稳定性,不推荐。
  2. 同样按上述步骤修正目录权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:54:02