yeseong31 / spring-proj-chat

0 stars 0 forks source link

RabbitMQ: Access refused for user 'guest' #3

Closed yeseong31 closed 1 year ago

yeseong31 commented 1 year ago

도커 이미지 적용 후 프로젝트 실행 시 접근 오류

docker pull pcloud/rabbitmq-stomp

docker container run -it --name rabbitmq-stomp -p 15672:15672 -p 5672:5672 -p 61613:61613 pcloud/rabbitmq-stomp
RABBITMQ_USERNAME=admin
RABBITMQ_PASSWORD=admin
RABBITMQ_HOST=localhost
RABBITMQ_PORT=5672
2023-08-27T02:00:33.558+09:00 ERROR 15212 --- [ent-scheduler-1] o.s.m.s.s.StompBrokerRelayMessageHandler : Received ERROR {message=[Bad CONNECT], content-type=[text/plain], version=[1.0,1.1,1.2], content-length=[32]} session=_system_ text/plain payload=Access refused for user 'guest'
yeseong31 commented 1 year ago

원인 찾기


RabbitMQ의 버전 문제인가?

FROM rabbitmq:3.11.16-management
RUN rabbitmq-plugins enable rabbitmq_stomp
COPY rabbitmq.conf /etc/rabbitmq/rabbitmq.conf
yeseong31 commented 1 year ago

도커 명령어를 직접 입력하여 RabbitMQ 실행

RABBITMQ_USERNAME=username
RABBITMQ_PASSWORD=password
RABBITMQ_HOST=localhost
RABBITMQ_PORT=5672
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -p 61613:61613 --restart=unless-stopped -e RABBITMQ_DEFAULT_USER=username -e RABBITMQ_DEFAULT_PASS=password rabbitmq:management
2023-08-27T03:12:33.158+09:00 ERROR 15212 --- [ent-scheduler-1] o.s.m.s.s.StompBrokerRelayMessageHandler : Received ERROR {message=[Bad CONNECT], content-type=[text/plain], version=[1.0,1.1,1.2], content-length=[32]} session=_system_ text/plain payload=Access refused for user 'guest'
yeseong31 commented 1 year ago

문제 해결

@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
    registry.setPathMatcher(new AntPathMatcher("."));

    registry.setApplicationDestinationPrefixes("/pub");

    // registry.enableSimpleBroker("/sub");
    registry.enableStompBrokerRelay(
                    "/queue", "/topic", "/exchange", "/amq/queue")
            .setRelayPort(STOMP_CLIENT_PORT)
            .setRelayHost(RABBITMQ_HOST)
            .setClientLogin(RABBITMQ_USERNAME)
            .setClientPasscode(RABBITMQ_PASSWORD);
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
    registry.setPathMatcher(new AntPathMatcher("."));

    registry.setApplicationDestinationPrefixes("/pub");

    // registry.enableSimpleBroker("/sub");
    registry.enableStompBrokerRelay(
                    "/queue", "/topic", "/exchange", "/amq/queue")
            .setRelayPort(STOMP_CLIENT_PORT)
            .setRelayHost(RABBITMQ_HOST)
            .setClientLogin(RABBITMQ_USERNAME)
            .setClientPasscode(RABBITMQ_PASSWORD)
            .setSystemLogin(RABBITMQ_USERNAME)
            .setSystemPasscode(RABBITMQ_PASSWORD);
}