我在使用 RPI3 上安装的 Node-Red 实例上的 kafka Node 时遇到 NodeJS 问题(我认为)。
场景: 我有一个正在运行的 Kafka 实例的集群。托管kafka代理的机器的真实IP是私有(private)的,所以我有一个公共(public)IP和一个可以使用的公共(public)端口。然后,请求被重定向到代理。
使用笔记本电脑上安装的代理来测试我的环境(因此知道代理的真实 IP),一切正常。 在真实的集群 Node -red上进行尝试,显示终端中描述的问题:
所以,我查看了代表我使用的 kafkaNode 的 js 文件,发现了这个:
我很确定问题出在这些行以及 IP 重定向的使用中。不管怎样,老实说我是 Nodejs 和 javascript 的新手,所以我不知道使用它是否存在一些错误。 有什么想法吗?
P.S.:我确定 kafka 代理已正确运行和安装。问题完全出在js中。 我还尝试使用 telnet 访问“假 IP”,效果很好。
提前致谢
最佳答案
如果您使用 NAT、VM 或其他代理进行“IP 重定向”,Kafka 无法使用配置的默认值,因为客户端会动态发现真实 kafka 代理的私有(private) IP,并尝试直接连接到这些 IP 地址而不仅仅是您在客户端中为初始连接和元数据请求配置的配置。
您需要确保代理设置为广告执行重定向的计算机的主机名或 IP,否则您的生产者将无法工作。
关于javascript - Nodejs 连接错误与 ip 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45640204/