我使用Varnish来阻止不必要的IP客户端,并且随着块列表/ACL的增长,VCL的编译时间增加了很多。前几天,我又添加了25000个I来阻止和清漆,不再加载VCL,而是用以下方式进行响应:
“命令失败,错误代码400”"CLI通信错误(hdr)“。
有没有人知道一种用清漆阻止大量IP地址的方法?
我不想使用iptable,因为我想用403 error页面进行响应。
现在的块列表ACL包含大约190K个条目,其中大多数是单个IP(即/32,而不是范围)。
/usr/bin/varnishadm -S /etc/varnish/secret -T localhost:6081 vcl.load file_default.vcl_time_1542634958 /etc/varnish/default.vcl
Command failed with error code 400
CLI communication error (hdr)
real 33m20.101s
user 0m0.004s
sys 0m0.000s代码和编译步骤似乎可以在没有加载的情况下进行编译,不会引发错误。
/usr/sbin/varnishd -C -f /etc/varnish/default.vcl
real 34m50.554s
user 34m33.124s
sys 0m15.332s发布于 2021-03-03 11:23:10
发布于 2018-11-20 17:42:17
增加cli_buffer ( CLI命令输入缓冲区的大小;默认8KB)和/或cli_limit ( CLI响应的最大大小;默认128 8KB)参数可能会解决这个问题。
https://serverfault.com/questions/940716
复制相似问题