# How to set the proxy buffer if web server return large cookie via Set-Cookie

**URL:** <https://www.ruby-forum.com/t/how-to-set-the-proxy-buffer-if-web-server-return-large-cookie-via-set-cookie/213473>\
**Category:** NGINX\
**Created:** [November 3, 2011, 3:50am UTC](https://www.ruby-forum.com/t/how-to-set-the-proxy-buffer-if-web-server-return-large-cookie-via-set-cookie/213473 "2011-11-03T03:50:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [November 3, 2011, 3:50am UTC](https://www.ruby-forum.com/t/how-to-set-the-proxy-buffer-if-web-server-return-large-cookie-via-set-cookie/213473/1 "2011-11-03T03:50:51Z")

</div>

Hi,

According to  
[Module ngx\_http\_core\_module](http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers),  
for long uri or large cookie from browser, I can use  
large\_client\_header\_buffers .  
For the large cookie from web server via Set-Cookie, how to set proxy  
buffer?

Should I set proxy\_buffer\_size the same size as  
large\_client\_header\_buffers?  
Or set the proxy\_buffers the same as large\_client\_header\_buffers?

For example, there is a 32k cookie  
location / {  
large\_client\_header\_buffers 4 32k;  
proxy\_buffer\_size 32k;  
proxy\_pass …  
}

or

location / {  
large\_client\_header\_buffers 4 32k;  
proxy\_buffers 4 32k;

proxy\_pass …  
}

According to the WIKI, I prefer proxy\_buffers directive.

BR,

DeltaY

---

<div class="post-metadata">

**Author:** ![Delta\_Y](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f9ae1b/32.png) [@Delta\_Y](https://www.ruby-forum.com/u/Delta_Y)\
**Post date:** [November 3, 2011, 8:45am UTC](https://www.ruby-forum.com/t/how-to-set-the-proxy-buffer-if-web-server-return-large-cookie-via-set-cookie/213473/2 "2011-11-03T08:45:18Z")

</div>

Hello!

On Thu, Nov 03, 2011 at 10:49:52AM +0800, Delta Y. wrote:

> For example, there is a 32k cookie  
> proxy\_buffers 4 32k;
> 
> proxy\_pass …  
> }
> 
> According to the WIKI, I prefer proxy\_buffers directive.

Response headers from upstream have to fit into proxy\_buffer\_size  
buffer. The proxy\_buffers directive is used when reading response  
body from upstream, not headers.

Maxim D.

---

<div class="post-metadata">

**Author:** ![Delta\_Y](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f9ae1b/32.png) [@Delta\_Y](https://www.ruby-forum.com/u/Delta_Y)\
**Post date:** [November 3, 2011, 8:52am UTC](https://www.ruby-forum.com/t/how-to-set-the-proxy-buffer-if-web-server-return-large-cookie-via-set-cookie/213473/3 "2011-11-03T08:52:06Z")

</div>

So to resolve large cookie issue, the config should be:

```
location / {
 large_client_header_buffers 4 32k;
 proxy_buffer_size 32k;
proxy_pass ....

```

}

For response, default proxy\_buffers should be OK for most web  
application.

2011/11/3 Maxim D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):
