upstream sent too big header while reading response header from upstream

来源: upstream sent too big header while reading response header from upstream_·L,`M_新浪博客

年底了事情真多,club服务器有问必答 提交页面 提交出这个问题

The page you are looking for is temporarily unavailable.Please try again later.

一看就知道是nginx的请求的错误,,惆怅啊。。

就开启了 错误日志查看。。。

tail -f error.log
就具体错误是 :

upstream sent too big header while reading response header from upstream

我们是nginx反向代理
proxy是nginx作为client转发时使用的,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header (说白了就是nginx把外部请求给后端apache ,apache返回的header  太大nginx处理不过来就导致了。

server {
       listen       80;
       server_name  *.xywy.com ;

       large_client_header_buffers 4 16k;

       #charset koi8-r;

       # access_log off;

       location / {

#添加这3行 ,
               proxy_buffer_size 64k;
               proxy_buffers   32 32k;
               proxy_busy_buffers_size 128k;

          proxy_set_header Host $host;
          proxy_set_header X-Real-IP       $remote_addr;
          proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;

          set $baiduspider ”;

          if ( $http_user_agent ~ Baiduspider) {
             set $baiduspider Baidu;
         }

…………

如果是 nginx+PHPcgi 就该 

fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on
011/01/07 11:12:57 [error] 10770#0: *38585340 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 116.22.131.154, server: *.xywy.com, request: “GET /ysmp/index.php?did=124994 HTTP/1.0”, upstream: “http://127.0.0.1:8080/ysmp/index.php?did=124994”, host: “xywy.yn16.com”

后来原来那错误没了出了新错误了 upstream timed out 超时?

server {
       listen       80;
       server_name  *.xywy.com ;
large_client_header_buffers 4 16k;
       client_max_body_size 300m;
       client_body_buffer_size 128k;
       proxy_connect_timeout 600;
       proxy_read_timeout 600;
       proxy_send_timeout 600;
               proxy_buffer_size 64k;
               proxy_buffers   4 32k;
               proxy_busy_buffers_size 64k;
               proxy_temp_file_write_size 64k;
       #charset koi8-r;

       # access_log off;

后来参数我又改了下 就好了。。。

可以参考:

http://wiki.nginx.org/NginxHttpProxyModule

http://blog.sina.com.cn/s/blog_5dc960cd0100i4mt.html

分享到: 更多 (0)