2014-04-03 75 views
165

我已經安裝了最新的RabbitMQ服務器(RabbitMQ的服務器,3.3.0-1.noarch.rpm)在開發過程中,我已經做了很多次,從來沒有任何問題。但是,這次我無法使用默認的訪客/訪客用戶登錄到管理Web界面。無法訪問RabbitMQ的web管理界面後,新安裝的

在日誌中,我看到以下內容:

=ERROR REPORT==== 4-Apr-2014::00:55:15 === 
webmachine error: path="api/whoami" 
"Unauthorized" 

可能是什麼造成的?

回答

466

它的新功能,因爲3.3.0版本 http://www.rabbitmq.com/release-notes/README-3.3.0.txt

server 
------ 

... 
25603 prevent access using the default guest/guest credentials except via 
     localhost. 

如果你想啓用來賓用戶閱讀this或本RabbitMQ 3.3.1 can not login with guest/guest

# remove guest from loopback_users in rabbitmq.config like this 
[{rabbit, [{loopback_users, []}]}]. 
# It is danger for default user and default password for remote access 
# better to change password 
rabbitmqctl change_password guest NEWPASSWORD 

如果你想創建與管理的新用戶撥款:

rabbitmqctl add_user test test 
rabbitmqctl set_user_tags test administrator 
rabbitmqctl set_permissions -p/test ".*" ".*" ".*" 

現在您可以使用測試測試進行訪問。

+1

謝謝!這個改變讓我感到驚訝。 (對不起,延遲接受。) –

+2

不客氣! (N.P. :) – Gabriele

+2

經常檢查防火牆規則以解決其他大多數認證和連接錯誤。 – pinepain

32

爲了誰曾經得到這個線程,但仍然無法訪問同治控制檯後,新安裝的,我的問題是,同治控制檯沒有啓用,我解決了這個問題通過這個命令:

  1. 去到的RabbitMQ命令提示
  2. 類型:

    rabbitmq-plugins enable rabbitmq_management 
    
+2

在Windows 10上使用Chocolatety進行安裝後就是這種情況。安裝腳本表示管理插件已啓用,但實際上並未啓用插件。 – Eris

+0

感謝@Robocide,正是我需要的 – amitben

+0

對於像我這樣的傻瓜: 1.進入文件夾:C:\ Program Files \ RabbitMQ Server \ rabbitmq_server-3.7.3 \ sbin。 2.運行rabbitmq-plugins enable rabbitmq_management 3.轉到服務,手動重啓rabbitmq服務(或者運行rabbmimq-service restart) –

6
東西

第剛剛發生在我身上,引起了一些令我頭疼的問題:

我建立了一個新的Linux RabbitMQ服務器,並使用shell腳本來設置自己的自定義用戶(不是guest!)。

腳本有幾個的「代碼」塊:

rabbitmqctl add_user test test 
rabbitmqctl set_user_tags test administrator 
rabbitmqctl set_permissions -p/test ".*" ".*" ".*" 

非常相似,一個在Gabriele's answer,所以我認爲他的代碼,不需要纂密碼。

我仍然無法登錄管理控制檯。然後我注意到我已經在Windows中創建了安裝腳本(CR + LF行尾),並將文件轉換爲Linux(僅限LF),然後在Linux服務器上重新設置安裝腳本。

...並且仍然無法登錄,因爲我花了15分鐘才發現重複調用add_user無法修復破損的密碼(可能以CR字符結尾)。我只好打電話change_password爲每一位用戶解決我前面錯:

rabbitmqctl change_password test test 

(另一種解決辦法是刪除所有用戶,然後再調用腳本)