gpt4 book ai didi

RabbitMQ 通过管理 HTTP API 发布 not_authorised 但在 Web UI 中工作

转载 作者:行者123 更新时间:2023-12-03 23:13:05 26 4
gpt4 key购买 nike

我试图通过 HTTP 管理 API 向默认交换和其他一些交换发布消息,但我总是收到授权错误。

curl -i -u myuser:mypw -XPOST -d'{"properties":{},"routing_key":"my_key","payload":"my body","payload_encoding":"string"}' https://myinstance.rmq.cloudamqp.com/api/exchanges/vhost/myvhost/publish
HTTP/1.1 401 Unauthorized
Server: nginx/1.14.2
Date: Mon, 01 Apr 2019 05:27:10 GMT
Content-Type: application/json
Content-Length: 53
Connection: keep-alive
content-security-policy: default-src 'self'
vary: accept, accept-encoding, origin

{"error":"not_authorised","reason":"Access refused."}%

我在自托管的 RabbitMQ(通过 k8s 上的 helm 安装)和我们的 CloudAMQP 实例上都进行了尝试。

但是,如果我使用相同的用户登录管理 Web UI,那么我可以将消息发布到交换并从队列中消费。
我希望管理 Web UI 仅使用 HTTP API 来执行此操作,因此当我通过 UI 执行此操作时,我很困惑为什么它会起作用。

另一方面,读取所有虚拟主机也适用于 HTTP API。
curl -i -u myuser:mypw https://myinstance.rmq.cloudamqp.com/api/vhosts
HTTP/1.1 200 OK

有人可以向我解释那里发生了什么吗?最让我困惑的是它使用相同的用户:pw 在 UI 上工作。

最佳答案

我找到了问题所在,我确实使用了错误的 URL 路径。

对于虚拟主机:/和默认交换它应该是:http://myinstance.rmq.cloudamqp.com/api/exchanges/%2F/amq.default/publish

关于RabbitMQ 通过管理 HTTP API 发布 not_authorised 但在 Web UI 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55448638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com