我有一个haproxy服务器后面的rabbitMQ服务器。 所有的客户端通过HAproxy连接到RabbitMQ并使用TCP。
当rabbitMQ连接显示所有连接来自Haproxy服务器的相同ip时,挑战是什么。
我怎样才能让客户端IP通过HAproxy?
我尝试在haproxyconfiguration中使用透明,发送代理,send-proxy-v2选项进行绑定。
仍然我不能让客户端IP传递给RMQ服务器。 有什么想法吗?
您无法更改haproxy或RabbitMQ上的任何内容来获取客户端信息。 就RabbitMQ而言,连接确实来自haproxy。 但是您可以更改客户端连接以提供有关他自己的信息。
根据这个GitHub的问题 ,你可以使用这样的东西:
var amqp = require('amqplib'); amqp.connect('amqp://localhost', {clientProperties: {'IP': '10.0.0.3'}}).then(...);
根据你的lib / client,它可能被称为client-properties , client_properties或者clientproperties 。
通过设置clientProperties ,如果您查看连接列表或使用rabbitmqctl list_connections client_properties ,将显示真实的IP。