环境:
前端请求 -> nginx -> docker container(rabbitmq)
问题:
正常登录 Rabbitmq Management 后,调用某些 url 包含 %2f 的接口时,后端返回:
405 Method not allowed
nginx 配置文件
location /mq/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://rabbitmq:15672/;
}
原因:
正常访问该地址:https://xxx.xxx.com/mq/ 时能正常跳转,
但是 rabbitmq management 的 api url 出现了 %2f 字符,这些字符会在经过 nginx 被转换为/
解决:
1.更改 nginx 源码(自行百度)
2.修改 nginx 配置文件
location /mq/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
if ($request_uri ~* "/mq/(.*)"){
proxy_pass http://rabbitmq:15672/$1;
break;
}
proxy_pass http://rabbitmq:15672/;
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于