我想使用以下命令列出远程 RabbitMQ 服务器上的可用队列:
rabbitmqadmin --host=a.b.c.com --port=443 --username=user --password=pwd list queues
但它以错误结束:
Traceback (most recent call last):
File "/usr/bin/rabbitmqadmin", line 1150, in <module>
main()
File "/usr/bin/rabbitmqadmin", line 494, in main
method()
File "/usr/bin/rabbitmqadmin", line 694, in invoke_list
format_list(self.get(uri), cols, obj_info, self.options)
File "/usr/bin/rabbitmqadmin", line 523, in get
return self.http("GET", "%s/api%s" % (self.options.path_prefix, path), "")
File "/usr/bin/rabbitmqadmin", line 597, in http
die(json.loads(resp.read())['reason'])
File "/usr/lib/python3.8/json/__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
我尝试了该命令的许多变体:没有凭据,有-k
选项......但没有成功。错误一直都是一样的。
nmap
告诉我主机a.b.c.com
处于活动状态并且端口443
已打开。
该错误可能表明 python 存在问题,但是解决方法可能是什么样的呢?安装另一个版本的rabbitmqadmin(当前版本是3.8.2)或另一个python版本(当前版本是3.8.10)?
我还从远程服务器下载了rabbitmqadmin,如此处所述https://www.rabbitmq.com/management-cli.html并使用了它。
下载的版本是3.8.19,但没有帮助。
不确定幕后发生了什么导致此错误......
答案1
--ssl
选项解决了这个问题。然而错误消息确实具有误导性