最近本人网站遇到了cloudflare 520的状态码
多次测试没有头绪,最后通过nginx debug 才找到原因并解决
1.nginx limit_conn 限制数量太少
浏览器一般都使用6-8个TCP连接并发访问,如果nginx limit_conn 限制1-2个就可能遇到520状态码,默认是503状态码。nginx limit_conn设置8可以解决问题。
2.linux 内核限制了TCP连接数
某些linux 发行版默认1024个TCP连接数,并发太大就会出现cloudflare 520状态码。我们可以修改配置文件提高系统TCP连接数。
在 /etc/sysctl.conf 添加下面代码
net.core.somaxconn=102400 net.ipv4.tcp_max_syn_backlog=8192 fs.file-max=655350 #增加打开文件句柄
最后执行 sysctl -p 生效

此处评论已关闭