我们如何在防火墙/代理后面配置kafka生产者?

时间:2017-07-25 08:12:20

标签: apache-kafka producer

我们在AWS上安装了单个节点kafka。我们能够在这种环境中运行kafka生产者和消费者。但是,当我们的客户尝试向我们的kafka经纪人发送消息(在AWS环境之外)时,他们的消息仍然停留在他们的防火墙上。

所以客户端kafka生产者是在防火墙/代理后面设置的,我们的客户端如何在绕过他们的代理后通过kafka发送消息。

1 个答案:

答案 0 :(得分:1)

首先检查问题是否确实是客户端防火墙问题,并且与不正确的代理设置(例如使用私有AWS IP作为公布的侦听器)或AWS安全规则(不允许外部计算机在端口9092/9093上连接)无关。最简单的检查方法是从没有防火墙的外部主机发布自己。

接下来检查他们是否允许端口9092上的TCP连接(或者您用于Kafka的任何内容)通过其客户端防火墙。

如果无法在防火墙中打开此端口,那么您可能会考虑将数据发送到端口80或443上的TCP代理(如haproxy),因为这些帖子通常是打开的。

如果仍然不起作用,那么考虑使用像Confluent REST Proxy这样的HTTP(S)代理进行发布,因为它使用应该遍历大多数客户端防火墙的标准HTTP(S)端口和协议。