2016-08-30 60 views
1

我有一個問題通過BROKER_URL連接到RabbitMQ虛擬主機。我的虛擬主機名是納瓦羅這rabbitmqctl顯示:芹菜BROKER_URL與vhosts未正確識別

$ rabbitmqctl list_vhosts 
/
navarro 
$ 

然而,隨着

BROKER_URL = 'amqp://guest:[email protected]:5672/navarro' 

我得到error: [Errno 104] Connection reset by peer"access to vhost '/' refused for user 'guest'"在我的日誌文件(guest虛擬機配置爲僅用於我的虛擬主機時,請注意它不是身份驗證問題但是這個問題是虛擬主機問題)。

如果我使用

BROKER_URL = 'amqp://guest:[email protected]:5672//navarro' 

我得到

"access to vhost '/navarro' refused for user 'guest'" 

這是有道理的,因爲沒有虛擬主機/navarro。但是,我如何連接到實際主機navarro

寫這個我得到的想法,允許用戶也'/',會讓你知道它是否有幫助。

那麼它有幫助,因爲任務最終在'/'虛擬主機,而不是在納瓦羅一個。但是,使用應用程序啓動Celery會連接到正確的隊列。我認爲這兩個位置都是由相同的設置定義的。

回答

0

沒有足夠的評論意見,所以留下了答案。

您確定用戶guest對虛擬主機有權限嗎?你做了什麼來確保他做到了?

你可以運行: rabbitmqctl set_permissions -p navarro guest ".*" ".*" ".*"

你獲得對虛擬主機的第一種方式是正確的(只有一個/)。