我们有一个nginx conf文件,它是使用consul-template for 2000+服务生成的,运行Consul 1.6.1。
我们正在尝试升级到Consul 1.7.2,但遇到了consul-template DDoSes Consul节点代理的问题。
节点/客户端代理v1.6.1工作正常,但是节点/客户端代理v1.7.2开始拒绝来自consul-template的连接。
有问题的模板(简化版本)是:
{{- range services }}
{{- if (in .Tags "nginxqa1") }}
{{- range service .Name }}
{{ .Address }}
{{- end }}
{{- end }}
{{- end }}在节点/客户端领事上添加以下限制配置项似乎可以解决此问题:
http_max_conns_per_client = 5000但是,这有什么影响吗?
有没有更好的方法来做这件事?我看到了这些消息:
2020/05/01 18:24:51.653257 [WARN] (runner) watching 2631 dependencies - watching this many dependencies could DDoS your consul cluster如有任何想法/建议,欢迎光临。
发布于 2020-05-05 01:28:09
hashicorp/consul#7159中引入了http_max_conns_per_client参数来寻址CVE-2020-7219。对于大多数用例,默认值200似乎是一个合理的默认值。但是,在像您这样的场景中,提高此值是有意义的。
提高这一点的唯一缺点是,任何能够与Consul API通信的客户端都将能够创建多达5000个连接。不能仅针对特定客户端提高此限制。在将这些更改推向生产时,请记住这一点。
https://stackoverflow.com/questions/61548455
复制相似问题