有会员在小荷上访问时,登录、打开列表页面等正常,但是在打开新投稿的作文页面时,出现502 Bad Gateway错误。其他人员测试又均告正常。
检查NGINX访问日志,发现日志中该访客其他页面状态是200,zwread 是502。
检查NGINX错误日志,发现日志中有[error] upstream sent too big header while reading response header from upstream,正是502的页面。
检查网站代码,该页面存在用于访问计数的COOKIE,修改代码限制COOKIE的最大长度,防止页面HEADER过大。
同时重启了NGINX。用户反映访问已经正常。
查百度,有解决是修改NGINX,增加buffer 配置。
其中http{}节里:
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;
在原配置里已有,说明不是此问题。
另外可以在location 里加以下内容,未测试。
proxy_buffer_size 64k;
proxy_buffers 8 64k;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
从建站来说,自然是优先考虑控制代码,避免大小膨胀。