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

Nginx try_files 始终触发@proxy代理的问题求助

Nginx try_files 始终触发@proxy代理的问题求助

各位好,我最近配置Nginx时碰到个头疼的问题,折腾半天没搞定,来请大家帮忙分析下!

我的需求很明确:请求图片资源时,优先尝试从本地磁盘加载对应文件;如果磁盘上找不到这个文件,再去请求上游的代理服务获取。

我写的Nginx配置代码如下:

server {
    location ~ ^/(\d+)/(\d+)/(\d+)\.png$ {
        alias /mount/cache/c/$1/$2/$3.png;
        try_files $uri @proxy;
        add_header x-source file;
    }

    location @proxy {
        proxy_pass http://127.0.0.1:28000;
        add_header x-source proxy;
    }
}

现在的问题是:不管本地磁盘上有没有对应的图片文件,请求都会触发@proxy代理,返回的x-source header始终是proxy。如果我把try_files $uri @proxy;这一行注释掉,本地存在的文件倒是能正常从磁盘加载,但这时候文件不存在的话,就完全没办法走代理了,根本达不到我想要的“先本地后代理”的效果。

有没有大佬能帮我看看问题出在哪?该怎么修改配置才能实现我的需求呀?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 15:13:12