Подключитесь к RabbitMQ через URL - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь подключиться к rabbitmq, который скрыт за прокси-сервером nginx. Он объявлен как:

   location ^~ /rabbitmq/ {
      proxy_pass http://127.0.0.1:5672/;
   }

Проблема в том, что, как я обнаружил, AMPQ указывает только хост, но ничего не знает о URL.

Можно ли как-нибудь подключить кролика к www.myserver.com/rabbitmq? Я использую EasyNetQ для подключения, но это похоже на ограничение протокола, и реализация не имеет значения.

Если это вообще невозможно, может быть, есть какие-то обходные пути?

1 Ответ

1 голос
/ 07 марта 2019

Для AMQP, если использование Nginx, вероятно, может помочь балансировке нагрузки TCP: https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/, в противном случае, если вы можете использовать HAProxy , вы можете попробовать что-то вроде этого:

frontend rabbitmq
    mode tcp
    bind *:5672
    use_backend bunny 

backend bunny
    mode tcp
    server bunny 127.0.0.1:5672 check

Если вы хотите опубликовать сообщение по HTTP, возможно, вы захотите предоставить API rabbitmq:

http://localhost:15672/api/index.html

Обратите внимание на порт 15672, из документов :

Обратите внимание, что порт UI и HTTP API - обычно 15672 - не поддерживает соединения AMQP 0-9-1, AMQP 1.0, STOMP или MQTT. Эти клиенты должны использовать отдельные порты.

...