我正在尝试连接到隐藏在nginx代理后面的rabbitmq。它被声明为:
location ^~ /rabbitmq/ {
proxy_pass http://127.0.0.1:5672/;
}
问题是,我发现AMPQ只指定主机,但它对网址没有任何了解。
我能以某种方式将兔子客户端连接到www.myserver.com/rabbitmq
吗?我正在使用EasyNetQ进行连接,但它看起来像协议限制,并且实现并不重要。
如果根本不可能有一些解决方法?
对于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
注意来自15672
的端口docs:
请注意,UI和HTTP API端口(通常为15672)不支持AMQP 0-9-1,AMQP 1.0,STOMP或MQTT连接。这些客户端应使用单独的端口。