2017-08-18 199 views
0

は私がmosquitto + mqtt.jsはなった "接続が拒否:認証されていません"

yum install mosquitto mosquitto-clients 

でローカルテスト

> mosquitto_sub -h localhost -t test 

> mosquitto_pub -h localhost -t test -m "hello world" 

をインストールし、CentOS7とmqtt.jsに基づいてのNode.jsクライアント上mosquittoを建て正常に動作しますが、私は走ったとき:接続:

var mqtt = require('mqtt') 
var client = mqtt.connect('mqtt://192.168.1.70') 

client.on('connect', function() { 
    client.subscribe('presence') 
    client.publish('presence', 'Hello mqtt') 
}) 

client.on('message', function (topic, message) { 
    // message is Buffer 
    console.log(message.toString()) 
    client.end() 
}) 

私はエラーを得ました断っ:

pid_file /var/run/mosquitto.pid 

persistence true 
persistence_location /var/lib/mosquitto/ 

log_dest file /var/log/mosquitto/mosquitto.log 
allow_anonymous true 

と私はそれを解決しないいくつかの時間を、再起動するsystemctl再起動mosquittoを使用します。mosquitto.confが似ている

を許可されていません。ファイアウォールがダウンし、ログファイルは空のままです。 ステータススクリーンショット: enter image description here

誰でも助けてくれますか?

UPDATE:

それはステータスがActive: active (exited)を示してmosquittoサービスが何らかの形で破損していることが判明しました。 mosquitto -p 1884 -v cmdを使用して、ポート1884で別のモスキートプロセスを実行すると問題なく動作します。次に、 > /etc/init.d/mosquitto reloadを使用してconfをリロードしようとします。それは私に与えます

mosquitto.serviceのためのJobsは無効です。 [FAILED]

モスキートサービスには何か問題があります。 ない最終的な解決策が、私がremove-リブートインストールプロセスによってこの問題を解決するために管理し、ステータスは次のように緑行ってきました:

Correct mosquitto status

SOLUTION

私は理由それを見つけることができました動作しません。私は私のサーバにrabbitmqをインストールしました。それはポート1883を消費する "rabbitmq_mqtt"を使います。ポートを再割り当てすることでこの問題は解決します。

+0

NodeJSクライアントが接続しようとしたときにmosquittoログには何ですか? – hardillb

+0

私が言ったように、厄介なことは、ログ機能が実行できないかどうかは不明です。 – joe

+0

mosquittoを停止し、コマンドラインで '-v'だけ手動で実行します。 – hardillb

答えて

-1

mqtt connectメソッドに権限情報を追加する必要があります。ちょうどこのように。

var client=mqtt.connect("ws://192.168.1.1", { 
 
      username: "yourUsername", 
 
      password: "yourPassword" 
 
     }

+0

こんにちは、歓迎してStackOverflow!適切な質問をするためのヒントについては、[How to Ask](https://stackoverflow.com/help/how-to-ask)ガイドを参照してください。 – clabe45

+0

しかし、匿名接続を許可する必要があります。 – joe

関連する問題