如何让Kafka和zookeeper与nginx一起工作?我以前试过设置nginx,但是在找到如何在nginx中配置Kafka和zookeeper方面严重缺乏结果。
我已经尝试过在Kafka和zookeeper中使用以下配置。但是,我不确定这是否允许连接到Kafka和zookeeper。由于Kafka和zookeeper是用于后端的,因此它被设置为443。请告诉我是否走对了方向。
Upstream website {
10.0.5.15:8755;
}
Upstream zoo {
10.0.5.20:2181;
}
Upstream kafka {
10.0.5.20:9092;
}
server {
listen 80;
server_name same.sg;
location / {
proxy_hide_header Server;
proxy_hide_header X-Powered-By;
proxy_hide_header X-AspNet-Version;
proxy_hide_header Access-Control-Allow-Origin;
proxy_set_header Host $http_host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://website;
}
}
server {
listen 443 ssl;
server_name same.sg;
ssl_certificate /cert.crt;
ssl_certificate_key /server.key;
location /kafka {
internal;
proxy_pass https://kafka;
}
location /zoo {
internal;
proxy_pass https://zoo;
}
}
1条答案
按热度按时间snz8szmq1#
Zookeeper和Kafka使用TCP,而不是HTTP/S,因此不会在这样的代理背后工作。
Nginx有一个
stream
指令用于TCP连接,但是Kafka客户端在引导后必须直接连接到各个代理,因此引入负载均衡器或代理成为引导协议的单点故障。外部Kafka客户端永远不需要连接到Zookeeper,而且最新的Kafka版本完全删除了Zookeeper