请注意,此问题已从超级用户移至 stackoverflow
我得到了以下 nginx 配置文件:
server {
listen 80;
listen 443 ssl;
...
# specific rule to serve versioned js resources
location ~ ^/js/([0-9\.]+)/(.*)$ {
alias /opt/x/public/deploy/js/$1/$2;
}
location / {
add_header P3P 'CP="CAO PSA OUR"';
proxy_pass http://127.0.0.1:8088;
set $ssl off;
if ($scheme = https) {
set $ssl on;
}
proxy_set_header X-Forwarded-Ssl $ssl;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
它按预期工作。但是,如果部署的目录中不存在某个版本化的 js 资源,例如/opt/x/public/deployed/js/1.1/
,它将返回404
. 我想要的是在这种情况下,nginx 会将请求传递给在8088
端口运行的后端服务,而不是返回404
。这甚至可行吗?
谢谢!绿色的