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

Nginx请求根目录子文件夹build下的资源时返回404错误,寻求配置修改方案

Nginx请求根目录子文件夹build下的资源时返回404错误,寻求配置修改方案

看起来问题出在你的/build/路径配置和Passenger的资源接管逻辑上,咱们一步步来调整就能解决:

首先,你的整个server块里开启了passenger_enabled on;,这会让Passenger接管所有请求——包括/build/下的静态资源请求,导致Nginx没机会直接读取这些文件,反而把请求交给Rails处理,而Rails路由里没有对应/build/的规则,所以就返回404了。

给你两个可行的修改方案,选一个试试就行:

方案一:禁用/build路径下的Passenger(推荐)

直接在你的location /build/块里加上passenger_enabled off;,让Nginx直接处理这个路径下的静态文件:

location /build/ {
    passenger_enabled off; # 关键:让Nginx直接处理,不交给Passenger/Rails
    autoindex off;
    # 这里不需要重复设置root,外层的root已经指向了public目录,Nginx会自动拼接路径
}

方案二:用alias明确指定路径(备选)

如果方案一没起作用,也可以用alias直接指定build目录的绝对路径,同样要禁用Passenger:

location /build/ {
    passenger_enabled off;
    alias /home/inspection/app/current/public/build/; # 明确指向build文件夹
    autoindex off;
}

修改完配置后,别忘重启Nginx让配置生效:

sudo systemctl restart nginx

这样/build/下的静态资源就能被Nginx正确返回了,不会再出现404错误~

备注:内容来源于stack exchange,提问作者Arup Rakshit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 11:20:30