Tôi đang sử dụng rabbitmq để xử lý các thông báo giữa các cơ sở dữ liệu của mình cho một ứng dụng doanh nghiệp mà tôi làm việc. Là một phần của quy trình, tôi đang cố gắng giúp tự động hóa việc thiết lập máy chủ (ví dụ: tập lệnh). Trong quá trình này, tôi đã cố gắng sử dụng rabbitmqadmin
để khai báo trao đổi từ dấu nhắc lệnh. Tôi có 2 máy chủ khác nhau chạy CentOS 5.x
và CentOS 6.x
và cả hai máy chủ đều gặp sự cố tương tự.RabbitMQ Tuyên bố Exchange từ Terminal - Access bị từ chối:/api/exchang/
Cho đến nay tôi đã tuyên bố một người dùng quản trị viên và đặt mật khẩu của nó, sau đó tôi đặt thẻ của thẻ thành thẻ quản trị viên, sau đó tôi đảm bảo rằng nó có quyền đối với vhost. Sau đó tôi cố gắng khai báo trao đổi, với người dùng và mật khẩu được chỉ định và nó không thành công.
rabbitmqctl add_user administrator password
rabbitmqctl set_user_tags administrator administrator
rabbitmqctl set_permissions -p/administrator ".*" ".*" ".*"
rabbitmqctl add_vhost vhostFoo
rabbitmqctl set_permissions -p vhostFoo administrator ".*" ".*" ".*"
rabbitmqadmin -u administrator -p password declare exchange --vhost=vhostFoo name=exchangeNew type=direct
Đối với hộp CentOS 5.x tôi phải sử dụng python26 rabbitmqadmin
thay vì chỉ rabbitmqadmin
, nhưng có được kết quả tương tự.
Lệnh kết quả cuối cùng trong:
*** Access refused: /api/exchanges/vhostFoo/exchangeNew
Cả 5.x CentOS của tôi và Cent hộp 6.x đang chạy RabbitMQ 3.3.5. Bất kỳ suy nghĩ nào về những gì tôi đang bỏ lỡ hoặc suy nghĩ về cách tôi có thể nhận thêm thông tin về những gì sai (ví dụ: tệp nhật ký lỗi hoặc cách để có được kết xuất chi tiết hơn)?
Dường như bây giờ thỏmqadmin cần tên người dùng và mật khẩu được đặt cho bất kỳ lệnh nào chúng tôi chọn để thực thi ... và đó là một điều tốt! – kstratis