# Nginx-0.8.37

**URL:** <https://www.ruby-forum.com/t/nginx-0-8-37/188718>\
**Category:** NGINX\
**Created:** [May 17, 2010, 8:16am UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718 "2010-05-17T08:16:47Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 17, 2010, 8:16am UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/1 "2010-05-17T08:16:47Z")

</div>

Changes with nginx 0.8.37 17 May  
2010

```
*) Feature: the ngx_http_split_clients_module.

*) Feature: the "map" directive supports keys more than 255 

```

characters.

```
*) Bugfix: nginx ignored the "private" and "no-store" values in the
   "Cache-Control" backend response header line.

*) Bugfix: a "stub" parameter of an "include" SSI directive was not
   used, if empty response has 200 status code.

*) Bugfix: if a proxied or FastCGI request was internally redirected 

```

to  
another proxied or FastCGI location, then a segmentation fault  
might  
occur in a worker process; the bug had appeared in 0.8.33.  
Thanks to Yichun Z…

```
*) Bugfix: IMAP connections may hang until they timed out while 

```

talking  
to Zimbra server.  
Thanks to Alan Batie.

–  
Igor S.  
[http://sysoev.ru/en/](http://sysoev.ru/en/)

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 17, 2010, 8:20am UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/2 "2010-05-17T08:20:18Z")

</div>

Thanks Igor.

Regards,  
Joe

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 17, 2010, 10:52am UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/3 "2010-05-17T10:52:29Z")

</div>

How to use ngx\_http\_split\_clients\_module?  
Please give an example.

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 17, 2010, 11:48am UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/4 "2010-05-17T11:48:06Z")

</div>

lhmwzy at 2010-5-17 16:51 wrote:

> How to use ngx\_http\_split\_clients\_module?  
> Please give an example.

read this:  
[http://www.ruby-forum.com/topic/209653#new](http://www.ruby-forum.com/topic/209653#new)

> * * *
> 
> nginx mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [mailman.nginx.org archive](http://nginx.org/mailman/listinfo/nginx)

–  
Weibin Y.

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 17, 2010, 11:51am UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/5 "2010-05-17T11:51:01Z")

</div>

On Mon, May 17, 2010 at 04:51:45PM +0800, lhmwzy wrote:

> How to use ngx\_http\_split\_clients\_module?  
> Please give an example.

http {  
split\_clients “${remote\_addr}AAA” $variant {  
0.5% .one;  
2.0% .two;  
- “”;  
}

```
server {
    location / {
        index index${variant}.html;

```

$cookie\_…, etc, may be used as a source for splitting.  
The source string is hashed using CRC32 and the percent of the hash  
is used as source value.

–  
Igor S.

> **[Igor Sysoev](http://sysoev.ru/en/)**

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 17, 2010, 12:06pm UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/6 "2010-05-17T12:06:50Z")

</div>

Thanks Igor.

2010/5/17 Igor S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 18, 2010, 6:00pm UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/7 "2010-05-18T18:00:28Z")

</div>

Igor S. ha scritto:

> Changes with nginx 0.8.37 17 May 2010  
> […]  
> \*) Bugfix: nginx ignored the “private” and “no-store” values in the  
> “Cache-Control” backend response header line.

By the way, last time I checked the code, I noted that Nginx always  
ignore the Vary header, and require the cache key to be explicitly set.

Is it possible to have a default cache key, generated from request URI  
(including query string) and Vary header?

> […]

Thanks Manlio

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 18, 2010, 6:12pm UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/8 "2010-05-18T18:12:46Z")

</div>

On Tue, May 18, 2010 at 05:59:07PM +0200, Manlio P. wrote:

> Is it possible to have a default cache key, generated from request URI  
> (including query string) and Vary header?

The Vary header is response header, you can not use it in cache key.

–  
Igor S.

> **[Igor Sysoev](http://sysoev.ru/en/)**

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 18, 2010, 6:35pm UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/9 "2010-05-18T18:35:38Z")

</div>

Igor S. ha scritto:

> > Is it possible to have a default cache key, generated from request URI  
> > (including query string) and Vary header?
> 
> The Vary header is response header, you can not use it in cache key.

I meant the Vary header from backend response.

Regards Manlio

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 18, 2010, 7:13pm UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/10 "2010-05-18T19:13:07Z")

</div>

Igor S. ha scritto:

> > > > >
> 
> does not know them: the key is used to find a cached backend response.

The idea is two use a two level cache lookup.

The first level is done using original cache\_key.  
The associated cache zone will contain the Vary header specified when  
backend response is cached.

The second level is done using cache\_key updated with request headers  
specified in Vary header.

This is just an idea, I was curious to know if adding support to Vary  
header is possible with current implementation.

Thanks Manlio

---

<div class="post-metadata">

**Author:** ![imixaly4](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@imixaly4](https://www.ruby-forum.com/u/imixaly4)\
**Post date:** [May 18, 2010, 6:47pm UTC](https://www.ruby-forum.com/t/nginx-0-8-37/188718/11 "2010-05-18T18:47:21Z")

</div>

On Tue, May 18, 2010 at 06:34:18PM +0200, Manlio P. wrote:

> > > ignore the Vary header, and require the cache key to be explicitly set.
> > > 
> > > Is it possible to have a default cache key, generated from request URI  
> > > (including query string) and Vary header?
> > 
> > The Vary header is response header, you can not use it in cache key.
> 
> I meant the Vary header from backend response.

Backend response headers can not be used in cache key, because nginx  
does not know them: the key is used to find a cached backend response.

–  
Igor S.

> **[Igor Sysoev](http://sysoev.ru/en/)**
