2014-07-24 6 views
11

मैंने rabbit.js को node.js एप्लिकेशन से RabbitMQ से कनेक्ट करने के लिए उपयोग करना शुरू किया।क्या मैं node.js में RabbitMQ प्रमाण-पत्र निर्दिष्ट कर सकता हूं?

मैं कम से अवरुद्ध कर रहा हूँ:,

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)
...

जो उम्मीद है RabbitMQ के कहने का उपयोग मैं प्रकाशकों और ग्राहकों संदेश कतार उपयोग करने के लिए सक्षम होने से पहले क्रेडेंशियल प्रदान करने की आवश्यकता के लिए कॉन्फ़िगर किया गया है, और अतिथि के बाद से खाता अक्षम किया गया है।

The official documentation of rabbit.js में प्रमाण-पत्रों का कोई उल्लेख नहीं है। Google "rabbit.js प्रमाण-पत्र निर्दिष्ट करें" और "rabbit.js लॉगिन पासवर्ड" की खोज करता है।

क्या rabbit.js द्वारा समर्थित प्रमाण पत्र हैं? यदि नहीं, तो node.js के लिए अन्य अन्य RabbitMQ क्लाइंट उन्हें समर्थन देते हैं?

उत्तर

27

इसलिए मैंने कभी rabbit.js का उपयोग नहीं किया, लेकिन कोड में डाइविंग के बाद, ऐसा लगता है कि यह amqplib का उपयोग कर रहा है। कोड जो इसे पार करता है here देखा जा सकता है और ऐसा लगता है कि यह मानक नोडजेज़ URL module पर कॉल कर रहा है। तो शायद आप like this:

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

उम्मीद है कि यह मदद करता है!

चीयर्स।

+1

आम तौर पर, कनेक्शन स्ट्रिंग में फ़ील्ड यूआरएल एन्कोडेड ('% 20' इत्यादि) होना चाहिए, लेकिन ऐसा लगता है कि मॉड्यूल इसे ठीक से संभाल नहीं सकता है। कम से कम एक ':' पासवर्ड में ठीक से एन्कोड किए जाने पर भी एक त्रुटि होती है। पासवर्ड फ़ील्ड में '/', '.',': ','? 'जैसे विशेष http वर्णों से बचें! – DanFromGermany

संबंधित मुद्दे