我一直试图远程杀死一台兔子服务器但到目前为止还没有幸运。我可以轻松连接到它并使用pika库发布和接收消息。
到目前为止我尝试过的步骤:
使用RabbitMQ的HTTP API删除连接
/api/connections/name
An individual connection. DELETEing it
willclose the connection. Optionally set the "X-Reason"
header when DELETEing to provide a reason.'
当我尝试http://localhost:15672/api/connection/127.0.0.1:31332之类的内容时,出现错误:
{"error":"Object Not Found","reason":"\"Not Found\"\n"}
答案 0 :(得分:0)
<强> rabbitmqctl 强>
以下是使用rabbitmqctl
set RABBITMQ_CTL_ERL_ARGS=-setcookie FWQUGISFBWECSKWFVFRP
rabbitmqctl.bat -n rabbit@gabriele-VirtualBox stop
<强>二郎强>
以下是使用Erlang
终止远程节点的一种方法:
erl -setcookie FXQUEISFFRECSKWCVB -sname thekiller@gabriele-VirtualBox
Eshell V6.4 (abort with ^G)
(thekiller@gabriele-VirtualBox)1> net_adm:ping('rabbit@gabriele-VirtualBox').
pong
(thekiller@gabriele-VirtualBox)2> rpc:call('rabbit@gabriele-VirtualBox', init, stop, []).
ok
(thekiller@gabriele-VirtualBox)3>
erl
和.erlang.cookie
启动-sname
控制台
使用相同的rabbitmq域(在我的情况下为gabriele-VirtualBox
)。rpc:call('rabbit@gabriele-VirtualBox', init, stop, [])
。完成,你杀死了远程节点。
答案 1 :(得分:0)
经过一番重复的故障排除后,我能够使用HTTP API来终止活动连接。诀窍是整个连接名称是url编码。
在我的情况下,连接名称为:
127.0.0.1:31332 -> 127.0.0.1:15672
所以当我尝试以下操作时出现错误:
http://localhost:15672/api/connection/127.0.0.1:31332 ==> object not found error
只有在我对URL编码连接名称并发送CURL DELETE之后才能工作:
http://localhost:15672/api/connection/127.0.0.1%3A31332%20-%3E%20127.0.0.1%3A15672