【日常开发问题】Rabbitmq Management 在使用某些功能时 服务端返回 405 Method not allowed

本贴最后更新于 2006 天前,其中的信息可能已经时移俗易

环境:

前端请求 -> 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/;
}
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 392 关注
  • 消息队列
    40 引用 • 52 回帖 • 2 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6513 引用 • 29276 回帖 • 247 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...