Ara*_*ian 57 session codeigniter header nginx
我从Nginx得到这个错误,但似乎无法搞清楚!我正在使用codeigniter并使用数据库进行会话.所以我想知道标题是如何变得太大.反正有没有检查标题是什么?或者可能看到我能做些什么来修复这个错误?
如果您需要我提出任何conf文件或其他内容,请告诉我,我会根据您的要求进行更新
2012/12/15 11:51:39 [error] 2007#0: *5778 upstream sent too big header while reading response header from upstream, client: 24.63.77.149, server: jdobres.xxxx.com, request: "POST /main/login HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "jdobres.xxxxx.com", referrer: "http://jdobres.xxxx.com/"
Run Code Online (Sandbox Code Playgroud)
UPDATE
我在conf中添加了以下内容:
proxy_buffer_size 512k;
proxy_buffers 4 512k;
proxy_busy_buffers_size 512k;
Run Code Online (Sandbox Code Playgroud)
现在我仍然得到以下内容:
2012/12/16 12:40:27 [error] 31235#0: *929 upstream sent too big header while reading response header from upstream, client: 24.63.77.149, server: jdobres.xxxx.com, request: "POST /main/login HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "jdobres.xxxx.com", referrer: "http://jdobres.xxxx.com/"
Run Code Online (Sandbox Code Playgroud)
Phe*_*yne 128
将其添加到通常位于/etc/nginx/nginx.confhttp {}的nginx.conf文件中:
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
Run Code Online (Sandbox Code Playgroud)
然后将其添加到您的php位置块,这将位于您的vhost文件中,查找以location开头的块〜.php $ {
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
Run Code Online (Sandbox Code Playgroud)
修改您的nginx配置并更改/设置以下指令:
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,因为我使用nginx + fcgiwrap配置:
location ~ ^.*\.cgi$ {
fastcgi_pass unix:/var/run/fcgiwrap.sock;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME /opt/nginx/bugzilla/$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
# attachments can be huge
client_max_body_size 0;
client_body_in_file_only clean;
# this is where requests body are saved
client_body_temp_path /opt/nginx/bugzilla/data/request_body 1 2;
}
Run Code Online (Sandbox Code Playgroud)
并且客户端正在使用大约6000个字符的URL(bugzilla请求)进行请求.
location ~ ^.*\.cgi$ {
error_log /var/log/nginx/bugzilla.log debug;
# ...
}
Run Code Online (Sandbox Code Playgroud)
这就是我在日志中得到的:
2015/03/18 10:24:40 [debug] 4625#0: *2 upstream split a header line in FastCGI records
2015/03/18 10:24:40 [error] 4625#0: *2 upstream sent too big header while reading response header from upstream, client: 10....
Run Code Online (Sandbox Code Playgroud)
是的你可以!我正在阅读如何设置nginx请求的允许URL长度(错误代码:414,uri太大),因为我认为"嘿,URL太长了",但我得到502的不是414.
尝试#1:
# this goes in http or server block... so outside the location block
large_client_header_buffers 4 8k;
Run Code Online (Sandbox Code Playgroud)
这失败了,我的网址是6000个字符<8k.尝试#2:
large_client_header_buffers 4 4k;
Run Code Online (Sandbox Code Playgroud)
现在我不再看到502 Bad Gateway了,而是看到了414 Request-URI Too Large
做了一些研究,发现在互联网上的某个地方:
这对我来说足够了:
location ~ ^.*\.cgi$ {
# holds request bigger than 4k but < 8k
fastcgi_buffer_size 8k;
# getconf PAGESIZE is 4k for me...
fastcgi_buffers 16 4k;
# ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44683 次 |
| 最近记录: |