通过URL连接到RabbitMQ

时间:2019-03-07 11:33:09

标签: rabbitmq amqp easynetq

我正在尝试连接到隐藏在nginx代理后面的Rabbitmq。声明为:

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

问题在于,我发现AMPQ仅指定主机,但对网址一无所知。

我可以通过某种方式将Rabbit客户端连接到www.myserver.com/rabbitmq吗?我正在使用EasyNetQ进行连接,但是它看起来像协议限制,实现无关紧要。

如果根本不可能,也许有一些解决方法?

1 个答案:

答案 0 :(得分:1)

对于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发布消息,则可能要公开RabbitMq API:

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

请注意docs中的端口15672

  

请注意,UI和HTTP API端口(通常为15672)不支持AMQP 0-9-1,AMQP 1.0,STOMP或MQTT连接。这些客户端应使用单独的端口。