RabbitMQの最新バージョンをVPS Debian Linuxボックスにインストールしました。ゲスト/ゲスト経由でログインを取得しようとしましたが、メッセージlogin failedで返されました。私は少し調査をしましたが、セキュリティ上の理由から、ゲスト/ゲストを介してリモートでログインすることは禁止されていることがわかりました。
rabbitmq.config
ファイルを手動で作成し(インストールによって作成されなかったため)、次のエントリのみを配置することにより、このバージョンでゲスト使用を有効にしてリモートでログインすることも試みました。
[{rabbit, [{loopback_users, []}]}].
以下のコマンドでrabbitmqを再起動した後。
invoke-rc.d rabbitmq-server stop -- to stop
invoke-rc.d rabbitmq-server start -- to start
それでもゲスト/ゲストでログインできません。また、Windows VPSにRabbitMQをインストールし、localhostを介してゲスト/ゲスト経由でログインしようとしましたが、同じメッセージlogin failedが表示されます。
また、ゲスト/ゲストを介したリモートロギングをサポートするRabbitMQの古いバージョンをインストールできるソースを提供します。
私は同じ問題を抱えていた..
RabbitMQとEnabled Web Interfaceもインストールしましたが、新しく作成したユーザーでサインインできませんでした。これは、これにアクセスするには管理者である必要があるためです。
構成ファイルを作成したり、混乱させたりしないでください。
これは私がその後やったことです、
ユーザーtest
とパスワードtest
のように、新規/新規ユーザーを追加します。
rabbitmqctl add_user test test
新しいユーザーに管理アクセス権を付与します。
rabbitmqctl set_user_tags test administrator
新しく作成したユーザーにアクセス許可を設定します。
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
それだけです、お楽しみください:)
Debianで次の手順で同じ構成を試しました。
ログインしようとしたときに同じエラーが発生しました:
そのため、rabbitmq.config
ディレクトリ内に/etc/rabbitmq
ファイル( クラシック構成ファイル )を作成し、次のコンテンツを追加しました(最後のドットに注意してください)。
[{ウサギ、[{loopback_users、[]}]}]。
あるいは、同じディレクトリ内に次の内容のrabbitmq.conf
ファイル( 新しい構成ファイル )を代わりに作成できます。
loopback_users =なし
次に、invoke-rc.d rabbitmq-server start
コマンドを実行し、コンソールとJavaクライアントの両方がゲスト/ゲストの資格情報を使用して接続できました。
この手順が機能しない場合、他の問題があると思います。たとえば、何らかの理由でRABBITMQ_CONFIG_FILE
環境変数を変更した場合、RabbitMQは設定ファイルを読み取れない可能性があります。
これは、バージョン3.3.0以降の新機能です。 localhostのゲスト/ゲストを使用してのみログインできます。他のマシンまたはipからログを記録するには、ユーザーを作成し、アクセス許可を割り当てる必要があります。これは次のように実行できます。
rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
注意:PORTが15672であることを確認してください! (バージョン> 3.3)5672が機能しない場合
まず、「上記の回答を選択」を確認します。
rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
それでも接続が機能しない場合は、ポートが正しいかどうかを確認してください!
私にとって、このコマンドは機能します:
$ rabbitmqadmin -H 10.140.0.2 -P 15672 -u test -p test list vhosts
+------+----------+
| name | messages |
+------+----------+
| / | |
+------+----------+
完了したポートについては、これを確認してください: RabbitMQはどのポートを使用しますか?
ウサギmqサーバーを確認するには、これを確認してください。 rabbitmqのバージョンを確認
追伸.
私にとっては、「テスト」ユーザーを作成してset_user_tags
、set_permissions
を実行した後、ポート5672を介してrabbitmqに接続できませんが、15672を介して接続できます。
ただし、ポート15672は常に「空白の応答」を提供します。コードが機能しなくなります。
約5分後に5672に切り替えて、すべてが機能しました!
非常に配線の問題。もっと深く掘り下げる時間はありません。同じ問題に出会った人のためにここに書き留めました。
rabbitMQプロビジョニングにAnsibleを使用する他の人にとって、rabbitmq_user
モジュールで見逃したのはtags: administrator
でした
「ゲスト」ユーザーを再作成するための私のAnsible構成は次のとおりです(開発環境の目的のため、実稼働環境では実行しないでください)。
- name: Create RabbitMQ user "guest" become: yes rabbitmq_user: user: guest password: guest vhost: / configure_priv: .* read_priv: .* write_priv: .* tags: administrator force: yes # recreate existing user state: present
また、次を含む/etc/rabbitmq/rabbitmq.config
ファイルをセットアップする必要がありました。
[{rabbit, [{loopback_users, []}]}].
localhostの外部から「guest」/「guest」を使用してログを記録できるようにするため
同じ問題がありました。 Gasによって提案されたものを試してみましたが、起動しなかった「invoke-rc.d rabbitmq-server start」を実行しました。サーバーを再起動しようとしましたが、webuiはゲストユーザーと連携しました。たぶんrabbitmq.configファイルを追加した後、何か他のものを開始する必要がありました。
Rabbitmqバージョン3.5.3を使用しました。
もう1つ注意すべき点があります。AWSインスタンスを使用している場合、受信ポート15672を開く必要があります(3.0より前のRabbitMQバージョンのポートは55672です)。
時々あなたはコンマを必要としません。これはデフォルトで設定ファイルにあります。ウサギタグの下に他に何も設定されていない場合、ブローカーを起動しているときにクラッシュします
{loopback_users、[]}のように、これを忘れて後でコンマを削除するのに何時間も費やします。これはSSLを含む他のすべての構成に適用可能です
私の仕事のために、rabbitmqを再起動して再度ログインしてみてください。
学生と私はこの問題を1時間見つめました。ファイルに正しい名前を付けてください。 /etc/rabbitmq
ディレクトリには、2つの異なるファイルがあります。説明したようにループバックユーザーを取得するために編集する必要がある/etc/rabbitmq/rabbitmq.config
ファイルがありますが、rabbitmq-env.conf
ファイルと呼ばれる別のファイルがあります。多くの人がタブ補完を使用し、「ig」を追加しましたが、これは正しいファイルではありません。再確認してください!
わずかに異なる使用法ですが、監視目的でAPIにアクセスする人にとっては便利かもしれません:@ Oliboy50によって与えられた答えがうまくいくことを確認できますhowever必ず有効にしてください次のように、ユーザーが監視できるようにする仮想ホストごとに
permissions:
- vhost: "{{item.name}}"
configure_priv: .*
write_priv: .*
read_priv: .*
state: present
tags: management
with_items: "{{user_system_users}}"
このループを使用すると、仮想ホストでAPIを使用するときに「401 Unauthorized」エラーを回避できました。
情報レポートでログファイルを確認すると、これが表示されます。
`config file(s) : /etc/rabbitmq/rabbitmq.config (not found)`.
以下のコマンドを使用して設定ファイルのアクセス許可を変更し、guestを使用してログインすると、動作します
Sudo chmod 777 /etc/rabbitmq/rabbitmq.config