HTTP 发布者的 RabbitMQ 身份验证和授权

RabbitMQ Authentication and Authorizantion for HTTP publisher

我看到我可以使用 RabbitMQ 管理器插件通过 HTTP 发布消息。我的问题是它公开了交换和操作,但需要管理员用户来执行操作。对吗

我尝试使用我配置了写入权限的用户发布到此交易所:

http://localhost:15672/api/exchanges/%2f/amq.default/publish

和服务器returns:

{
  "error": "not_authorised",
  "reason": "Not management user"
}

但是如果我尝试对用户 guest 执行相同的操作,我会得到以下响应:

{
  "routed": true
}

这是正确的吗?我是否需要管理员用户才能使用 HTTP 发布 API(即使是具有写入权限的用户)?是否有任何其他选项可以根据 RabbitMQ 用户权限交换已发布的接受请求?

实际上此功能是管理控制台的一部分,并公开与此模块相关的功能。没有配置没有管理角色的用户和访问 HTTP api.

的选项

您必须为您的用户添加标签:

sudo rabbitmqctl set_user_tags youruser management

我从here

那里得到的