1

背景: 私は RabbitMq を初めて使用します。インストールして遊んでみました。

したがって、RabbitMq を ec2(ubuntu) で実行し、node.js サーバーをローカル マシンで実行する RabbitMq クライアントとして (websockets を介した pub/sub 用)、RabbitMq で MQTT プロトコルを有効にして、ポート 1883 で実行するようにしました。

node.js ではMQTTClientを使用しましたが、node.js サーバーが RabbitMq に接続するたびに、接続が拒否されました: ユーザー名またはパスワードが正しくありません

私は、RabbitMQ サーバーにキーベースの認証を使用することを計画しています。これにより、ブラウザーからの websockets がエンコードされた文字列を送信し、node.js サーバーがデコードしてキーを取得し、そのキーを RabbitMQ に送信し、RabbitMQ がこれが存在するかどうかを決定します。

別の優れた RabbitMQ プラグイン、rabbitmq-auth-backend-httpを見つけましたが、これは username / password を要求します。これは Key / Id の組み合わせである可能性があります。

提案を探しています。これを達成するにはどうすればよいですか?

もう 1 つの問題は、node.js クライアントが username/password を送信しないことです。つまり、node.js クライアントも作成する必要があるということですか?

4

1 に答える 1

0

その MQTT クライアントはユーザー名とパスワードをサポートしているようです。接続を作成するときに渡すオプション オブジェクトでそれらを設定してみてください。デフォルトの RabbitMQ ユーザーはguestで、パスワードは ですguest

RabbitMQ を認証バックエンドとして使用する理由がわかりません。ID ストアではなくメッセージ キューであるためです。あなたが言及した認証プラグインは、別のHTTPサーバーを使用してクライアントをRabbitMQに認証することを許可しているようですが、RabbitMQがID管理を処理することは許可していないようです.

于 2013-03-02T08:41:35.393 に答える