/ 中存储网

Nginx 502错误的解决办法

2014-02-06 10:47:01 来源:ITJS.CN
NGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多。我将502 Bad Gateway错误有关的问题和排查方法列一下,先从FastCGI配置入手:

1.FastCGI进程是否已经启动

2.FastCGI worker进程数是否不够

运行 netstat -anpo | grep “php-cgi” | wc -l 判断是否接近FastCGI进程,接近配置文件中设置的数值,DNF全自动表明worker进程数设置太少

3.FastCGI执行时间过长

根据实际情况调高以下参数值

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

4.FastCGI Buffer不够

nginx和apache一样,CF透视有前端缓冲限制,可以调整缓冲参数

fastcgi_buffer_size 32k;

fastcgi_buffers 8 32k;

5.Proxy Buffer不够

如果你用了Proxying,调整

proxy_buffer_size 16k;

proxy_buffers 4 16k; 6.https转发配置错误

正确的配置方法

server_name ;

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错误,炫舞全P多挂网炫舞全PDNF全自动查看log文件www.doogua.com,显示的错误信息是:”413 Request Entity Too Large”, 于是在网上找了下“nginx 413错误”发现需要做以下设置: 在nginx.conf增加 client_max_body_size的相关设置, 这个值默认是1m,DNF全自动可以增加到8m以增加提高文件大小限制;

如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误www.wegua.com。DNF全自动百挂网炫舞全P地下城与勇士国战传奇-人生炫舞全P开挂网地下城与勇士地下城与勇士

post_max_size = 8M

upload_max_filesize = 2M

Nginx400错误排查:HTTP头/Cookie过大

今天有人汇报nginx的HTTP400错误,DNF全自动CF透视我爱挂地下城与勇士而且这个HTTP400错误并不是每次都会出现的,查了一下发现nginx400错误是由于request header过大,通常是由于cookie中写入了较长的字符串所引起的。CF透视威挂网

解决方法是不要在cookie里记录过多数据,如果实在需要的话可以考虑调整在nginx.conf中的client_header_buffer_size(默认1k)

若cookie太大,可能还需要调整large_client_header_buffers默认4k),该参数说明如下:

请求行如果超过buffer,就会报HTTP 414错误(URI Too Long)

nginx接受最长的HTTP头部大小必须比其中一个buffer大,否则就会报400的HTTP错误(Bad Request)。