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

NGINX反向代理proxy_pass配置问题:/acp路径代理时URL附加路径引发404/500错误

NGINX反向代理proxy_pass配置问题:/acp路径代理时URL附加路径引发404/500错误

嗨,我完全懂你的困扰——问题出在proxy_pass的写法上!当你访问/acp路径时,NGINX默认会把/acp这个路径后缀直接追加到目标服务器的URL后面,也就是会请求http://192.168.50.9/acp,但显然你的目标服务器上并没有这个路径,所以才会返回404或500错误。

解决这个问题其实很简单,只需要在proxy_pass的目标URL末尾加上一个斜杠/就行,这样NGINX就会自动去掉匹配的/acp路径,直接代理到目标服务器的根路径。

修改后的/acp location配置应该是这样的:

location /acp {
    proxy_set_header    Host $host;
    proxy_buffering off;
    proxy_set_header    X-Real-IP         $remote_addr;
    proxy_set_header    X-Forwarded-Host  $host;
    proxy_set_header    X-Forwarded-Port  $server_port;
    proxy_pass http://192.168.50.9/;  # 这里末尾加了斜杠
}

另外,我注意到你两个location里的proxy_set_header配置完全重复了,其实可以把这些公共配置提到server块里,这样所有location都会自动继承,代码会更简洁易维护:

优化后的完整server块:

server {
    listen 80;

    # 公共代理配置,所有location共享
    proxy_set_header    Host $host;
    proxy_buffering off;
    proxy_set_header    X-Real-IP         $remote_addr;
    proxy_set_header    X-Forwarded-Host  $host;
    proxy_set_header    X-Forwarded-Port  $server_port;

    location / {
        proxy_pass http://192.168.50.8;
    }

    location /acp {
        proxy_pass http://192.168.50.9/;  # 末尾加斜杠去掉/acp路径
    }
}

这样修改后,当你访问your-domain.com/acp时,NGINX就会把请求转发到http://192.168.50.9/而不是http://192.168.50.9/acp,应该就能解决你的404/500问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 11:18:10