Nginx 502 upstream sent too big header while reading response header from upstream

  线上部署的一个项目,通过OAuth登录完成之后,跳转回来就会出现502错误,错误必现。必现错误不用慌,从log里面仔细排查这个时间段的每一条记录,access log里面一般不会记录具体原因,只会记录502请求状态,想要查看具体原因还得看error log,如果log配置没搞好的话,建议先配置好log,然后再触发一次错误,这样就可以分析错误了。

nginx错误日志error_log日志级别

解决方法:在配置文件中加入这两个配置

location ~ .php$ {
    fastcgi_buffer_size 128k;
    fastcgi_buffers 32 32k;
}

重新加载Nginx,继续测试,正常没有报错!

Nginx 防止被域名恶意解析的方法

    服务器这两天流量突增,负载也上去了,影响线上的业务很卡。

    先看日志,access日志太大,先把日志切割,通过日志发现里面有很多别的陌生域名的访问日志,解决方法就是拒绝nginx的默认解析。

server {
    listen       80  default_server;
    server_name  _;
    access_log   off;    
    return       403;
}

原理就是给不正常的解析返回一个错误状态,并关闭log记录。