我正在尝试连接到隐藏在nginx代理后面的Rabbitmq。声明为:
location ^~ /rabbitmq/ {
proxy_pass http://127.0.0.1:5672/;
}
问题在于,我发现AMPQ仅指定主机,但对网址一无所知。
我可以通过某种方式将Rabbit客户端连接到www.myserver.com/rabbitmq
吗?我正在使用EasyNetQ进行连接,但是它看起来像协议限制,实现无关紧要。
如果根本不可能,也许有一些解决方法?
答案 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连接。这些客户端应使用单独的端口。