在nginx中遇到502、413、以及400错误时,应该如何排查错误并加以解决。
一,NGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多。 1.FastCGI进程是否已经启动
2.FastCGI worker进程数是否不够
3.FastCGI执行时间过长
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300; fastcgi_read_timeout 300;
4.FastCGI Buffer不够
fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;
5.Proxy Buffer不够
proxy_buffer_size 16k;
proxy_buffers 4 16k;
6.https转发配置错误
server_name www.it.net.cn;
location /myproj/repos { set $fixed_destination $http_destination; if ( $http_destination ~* ^https(.*)$ ) { set $fixed_destination http$1; } proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Destination $fixed_destination; proxy_pass http://subversion_hosts; } 二,Nginx 413错误的排查:修改上传文件大小限制 在上传时nginx返回了413错误,查看log文件,显示的错误信息是:”413 Request Entity Too Large”, 于是在网上找了下“nginx 413错误”发现需要做以下设置:
在nginx.conf增加 client_max_body_size的相关设置, 这个值默认是1m,可以增加到8m以增加提高文件大小限制;
post_max_size = 8M
upload_max_filesize = 2M 三,Nginx 400错误排查:HTTP头/Cookie过大
nginx的HTTP400错误,而且这个HTTP400错误并不是每次都会出现的,查了一下发现nginx 400错误是由于request header过大,通常是由于cookie中写入了较长
解决方法: 就是这些了,这三个错误也是nginx环境中经常遇到的,特别是502与400错误,在实际的操作中要多加注意。 (责任编辑:IT) |