Понимание правильной процедуры аутентификации для RabbitMQ amqps - PullRequest
0 голосов
/ 10 июля 2020

У меня есть две разные запущенные удаленные среды, назовем их E1 и E2 , к которым я пытаюсь установить sh соединение с RabbitMQ через Java клиента. . Мне сказали, что их конфигурация точно такая же, но я не уверен в этом. Разрешения пользователя для E1 и E2 следующие:

введите описание изображения здесь

У меня есть две следующие версии клиента java:

V1 . Учетные данные предоставлены на заводе:

        String url = "amqps://path.to.rabbitmq.eN.info:5672";
        ConnectionFactory factory = new ConnectionFactory();
        factory.setUri(url);
        factory.setUsername("user");
        factory.setPassword("pass");
        Connection targetConnection = factory.newConnection();

V2 . Учетные данные, указанные в URL-адресе:

        String url = "amqps://user:pass@path.to.rabbitmq.env.info:5672";
        ConnectionFactory factory = new ConnectionFactory();
        factory.setUri(url);
        Connection targetConnection = factory.newConnection();

Когда env = E1 У меня есть следующие результаты для каждой версии: 1) успех для V1 ; 2) Я получаю следующую ошибку для V2 :

Caused by: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:362)
at com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:64)
at com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection.java:156)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1095)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1054)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1012)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1170)

Тогда как при env = E2 происходит прямо противоположное: 1) Я получаю ту же ошибку для V1 ; 2) Успех для V2 . Я не только хотел бы понять причину этого странного поведения, мне было интересно, является ли одна из перечисленных версий более правильной, чем другая, или есть лучший способ (V3), который потенциально может вызвать успех в обеих средах. Спасибо за ваше время.

...