记一次nginx location proxy_pass 反向代理失效的问题

服务器部署了RabbmitMQ之后想通过nginx代理访问RabbmitMQ的Web管理界面

在nginx的server几点下面添加:

location /rabbitmq/ {
    proxy_pass http://127.0.0.1:15672/;
}

然后通过http://www.example.com/rabbmitmq/访问rabbmitmq的web管理界面

发现打开的界面一篇空白,查看响应内容发现首页响应内容是正常的,但是静态文件全都返回404了,比如:

http://www.example.com/rabbitmq/js/jquery-3.4.1.min.js 返回的是404,查看nginx日志发现这个路径并没有被反向代理给http://127.0.0.1:15672/,请求的全是本地文件路径

 

最后发现是因为收到PHP配置的干扰:

location / {
    try_files $uri $uri/ /index.php$is_args$args;
}

修改反向代理配置:

location ~* ^/rabbitmq/(.*)$ {
    proxy_pass http://127.0.0.1:15672/$1;
}

问题得到解决