16°

Rabbitmq Management 在使用某些功能时 服务端返回 405 Method not allowed

环境:

前端请求 -> nginx -> centos(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://127.0.0.1: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://127.0.0.1:15672/$1;
			break;
	}
	proxy_pass http://rabbitmq:15672/;
}

地址根据实际应用修改!

 

本文由【Sunki】发布于开源中国,原文链接:https://my.oschina.net/u/3625745/blog/3136492

全部评论: 0

    我有话说: