2014-07-24 12 views
11

Tôi bắt đầu sử dụng rabbit.js để kết nối với RabbitMQ từ một ứng dụng node.js.Tôi có thể chỉ định thông tin xác thực RabbitMQ trong node.js không?

Tôi đang bị chặn tại địa chỉ:

Error: Channel closed by server: 403 (ACCESS-REFUSED) with message "ACCESS_REFUSED -operation not permitted on the default exchange"
    at Channel.C.accept (/.../rabbit.js/node_modules/amqplib/lib/channel.js:398:24)
    at Connection.mainAccept [as accept] (/.../rabbit.js/node_modules/amqplib/lib/connection.js:63:33)
    at Socket.go (/.../rabbit.js/node_modules/amqplib/lib/connection.js:448:48)
    at Socket.EventEmitter.emit (events.js:92:17)
...

dự kiến, kể từ trường hợp của RabbitMQ tôi sử dụng được cấu hình để yêu cầu các nhà xuất bản và các thuê bao để cung cấp thông tin trước khi có thể sử dụng hàng đợi tin nhắn, và tổng kết tòan tài khoản bị vô hiệu hóa.

The official documentation of rabbit.js không đề cập đến thông tin đăng nhập. Các tìm kiếm của Google cho "rabbit.js chỉ định thông tin đăng nhập" và "mật khẩu đăng nhập rabbit.js" không được xác định.

Thông tin đăng nhập có được hỗ trợ bởi rabbit.js không? Nếu không, những khách hàng khác của RabbitMQ cho node.js sẽ hỗ trợ họ như thế nào?

Trả lời

27

Vì vậy, tôi không bao giờ sử dụng rabbit.js bản thân mình, nhưng sau khi lặn vào mã, nó có vẻ là sử dụng amqplib. Mã phân tích cú pháp nó có thể được nhìn thấy here và có vẻ như nó đang gọi các nút tiêu chuẩn là URL module. Vì vậy, có lẽ bạn có thể thử một cái gì đó like this:

amqp://user:[email protected]/vhost 

Hy vọng điều đó sẽ hữu ích!

Chúc mừng.

+1

Thông thường, các trường trong chuỗi kết nối phải được mã hóa URL ('% 20' v.v.) nhưng có vẻ như mô-đun không thể xử lý đúng cách. Ít nhất một ':' trong mật khẩu dẫn đến một lỗi ngay cả khi được mã hóa đúng cách. Tránh các ký tự http đặc biệt như '/', '.',': ','? 'Trong trường mật khẩu! – DanFromGermany

Các vấn đề liên quan