[rabbitmq] RabbitMQ 3.3.1은 게스트 / 게스트로 로그인 할 수 없습니다.

VPS Debian Linux 상자에 최신 버전의 RabbitMQ를 설치했습니다. 게스트 / 게스트를 통해 로그인을 시도했지만 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를 통해 게스트 / 게스트를 통해 로그인을 시도했지만 다시 동일한 메시지 로그인 실패가 발생 합니다.

또한 게스트 / 게스트를 통해 원격으로 로깅을 지원하는 RabbitMQ의 이전 버전을 설치할 수있는 소스를 제공하십시오.



답변

똑같은 문제가 ..

RabbitMQ와 Enabled Web Interface도 설치했지만 새로 생성 한 사용자로 로그인 할 수 없었습니다. 이는 관리자 권한이 있어야 액세스 할 수 있기 때문입니다.

구성 파일을 생성하지 말고 엉망으로 만드십시오 ..

이것이 내가 한 일입니다.

  1. 새로운 / 새 사용자를 추가하고 사용자 test와 비밀번호를 말합니다 test.

    rabbitmqctl add_user test test
    
  2. 새 사용자에게 관리 액세스 권한을 부여하십시오.

    rabbitmqctl set_user_tags test administrator
    
  3. 새로 생성 된 사용자에게 권한 설정 :

    rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
    

그게 다야, 즐기세요 🙂


답변

다음 단계에 따라 Debian에서 동일한 구성을 시도했습니다.

  1. RabbitMQ를 설치했습니다.
  2. 웹 관리 플러그인을 활성화했습니다 (필요하지 않음).

로그인을 시도 할 때 동일한 오류가 발생했습니다.

여기에 이미지 설명 입력

그래서 다음 내용 (마지막 점에 주목)으로 디렉토리 안에 rabbitmq.config파일 ( classic configuration file )을 만들었습니다 /etc/rabbitmq.

[{토끼, [{loopback_users, []}]}].

또는 다음 내용으로 동일한 디렉토리 내에 rabbitmq.conf파일 ( 새 구성 파일 )을 대신 만들 수 있습니다 .

loopback_users = 없음

그런 다음 invoke-rc.d rabbitmq-server start명령을 실행하고 콘솔과 Java 클라이언트 모두 게스트 / 게스트 자격 증명을 사용하여 연결할 수있었습니다.

여기에 이미지 설명 입력

이 절차가 작동하지 않으면 다른 문제가 있다고 생각합니다. 예를 들어 어떤 이유로 RABBITMQ_CONFIG_FILE환경 변수를 변경 한 경우 RabbitMQ가 구성 파일을 읽지 못할 수 있습니다 .


답변

이것은 버전 3.3.0 이후의 새로운 기능입니다. localhost에서 guest / guest를 사용해서 만 로그인 할 수 있습니다. 다른 컴퓨터 또는 IP에서 로깅하려면 사용자를 만들고 권한을 할당해야합니다. 다음과 같이 수행 할 수 있습니다.

rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"


답변

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”를 사용하여 로그인 할 수 있도록하기 위해


답변

주의 사항 : 포트가 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는 어떤 포트를 사용합니까?

Rabbit mq 서버를 확인하려면 다음을 확인하십시오. rabbitmq 버전 확인

추신

나는 “테스트”사용자와 실행을 만든 후 나에게 set_user_tags, set_permissions나는 포트 5672. 통해 rabbitmq에 연결할 수 있지만 15672를 통해 연결할 수 있습니다.

그러나 포트 15672는 항상 “빈 응답”을 제공합니다. 내 코드가 작동하지 않습니다.

약 5 분 후에 5672로 전환했습니다.

매우 유선 문제입니다. 더 깊이 파고들 시간이 없습니다. 그래서 같은 문제를 겪는 사람을 위해 여기에 적었습니다.


답변

나는 같은 문제가 있었다. 나는 Gas가 제안한 것을 시도하고 “invoke-rc.d rabbitmq-server start”를 실행했지만 시작되지 않았습니다. 서버를 재부팅하려고했고 webui는 게스트 사용자와 함께 작동했습니다. rabbitmq.config 파일을 추가 한 후 다른 작업을 시작해야 할 수도 있습니다.

rabbitmq 버전 3.5.3을 사용했습니다.

한 가지 더 알아 두어야 할 사항 : AWS 인스턴스를 사용하는 경우 인바운드 포트 15672를 열어야합니다 (3.0 이전의 RabbitMQ 버전 용 포트는 55672입니다.).


답변

학생들과 저는 한 시간 동안이 문제를 쳐다 보았습니다. 파일 이름을 올바르게 지정했는지 확인하십시오. 에서 /etc/rabbitmq디렉토리, 두 가지 파일이 있습니다. 가 /etc/rabbitmq/rabbitmq.config당신이 설명 된대로 루프백 사용자를 얻기 위해 편집해야합니다 파일,하지만라는 또 다른 파일이 rabbitmq-env.conf파일은. 많은 사람들이 탭 완성 기능을 사용하고 올바른 파일이 아닌 “ig”만 추가했습니다. 이중 점검!