# Nginx-1.5.8

**URL:** <https://www.ruby-forum.com/t/nginx-1-5-8/238106>\
**Category:** NGINX\
**Created:** [December 17, 2013, 3:08pm UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106 "2013-12-17T15:08:21Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![musicdenotation](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@musicdenotation](https://www.ruby-forum.com/u/musicdenotation)\
**Post date:** [December 17, 2013, 3:08pm UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106/1 "2013-12-17T15:08:21Z")

</div>

Changes with nginx 1.5.8 17 Dec  
2013

```
*) Feature: IPv6 support in resolver.

*) Feature: the "listen" directive supports the "fastopen" 

```

parameter.  
Thanks to Mathew Rodley.

```
*) Feature: SSL support in the ngx_http_uwsgi_module.
   Thanks to Roberto De Ioris.

*) Feature: vim syntax highlighting scripts were added to contrib.
   Thanks to Evan M..

*) Bugfix: a timeout might occur while reading client request body 

```

in an  
SSL connection using chunked transfer encoding.

```
*) Bugfix: the "master_process" directive did not work correctly in
   nginx/Windows.

*) Bugfix: the "setfib" parameter of the "listen" directive might 

```

not  
work.

```
*) Bugfix: in the ngx_http_spdy_module.

```

–  
Maxim D.  
[http://nginx.org/en/donation.html](http://nginx.org/en/donation.html)

---

<div class="post-metadata">

**Author:** ![Maxim\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/da6949/32.png) [@Maxim\_D](https://www.ruby-forum.com/u/Maxim_D)\
**Post date:** [December 19, 2013, 11:00am UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106/2 "2013-12-19T11:00:17Z")

</div>

Where would we find documentation on the “fastopen” parameter?

Posted at Nginx Forum:

> **[Re: nginx-1.5.8](https://forum.nginx.org/read.php?2,245651,245713#msg-245713)**
>
> Changes with nginx 1.5.8 17 Dec 2013 \*) Feature: IPv6 support in resolver. \*) Feature: the "listen" directive supports the "fastopen" parameter. Thanks to Mathew Rodley. \*) Fea

---

<div class="post-metadata">

**Author:** ![Maxim\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/da6949/32.png) [@Maxim\_D](https://www.ruby-forum.com/u/Maxim_D)\
**Post date:** [December 19, 2013, 11:37am UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106/3 "2013-12-19T11:37:09Z")

</div>

On 12/19/13 13:59, athalas wrote:

> Where would we find documentation on the “fastopen” parameter?

“fastopen” parameter set TCP\_FASTOPEN socket option on Linux:

> **[TCP Fast Open](https://en.wikipedia.org/wiki/TCP_Fast_Open)**
>
> In computer networking, TCP Fast Open (TFO) is an extension to speed up the opening of successive Transmission Control Protocol (TCP) connections between two endpoints. It works by using a TFO cookie (a TCP option), which is a cryptographic cookie stored on the client and set upon the initial connection with the server. When the client later reconnects, it sends the initial SYN packet along with the TFO cookie data to authenticate itself. If successful, the server may start sending data to th Th...

---

<div class="post-metadata">

**Author:** ![Maxim\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/da6949/32.png) [@Maxim\_D](https://www.ruby-forum.com/u/Maxim_D)\
**Post date:** [December 19, 2013, 1:11pm UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106/4 "2013-12-19T13:11:13Z")

</div>

On Thu, Dec 19, 2013 at 04:59:34AM -0500, athalas wrote:

> Where would we find documentation on the “fastopen” parameter?

It’s in the works.

---

<div class="post-metadata">

**Author:** ![Maxim\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/da6949/32.png) [@Maxim\_D](https://www.ruby-forum.com/u/Maxim_D)\
**Post date:** [December 20, 2013, 9:20pm UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106/5 "2013-12-20T21:20:22Z")

</div>

On 12/19/13 1:59 PM, athalas wrote:

> Where would we find documentation on the “fastopen” parameter?

[http://nginx.org/r/listen](http://nginx.org/r/listen)

–  
Maxim K.

> **[Advanced Load Balancer, Web Server, & Reverse Proxy - NGINX](https://www.nginx.com/)**
>
> NGINX accelerates content and application delivery, improves security, and facilitates availability and scalability for the busiest websites on the Internet.

---

<div class="post-metadata">

**Author:** ![Maxim\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/da6949/32.png) [@Maxim\_D](https://www.ruby-forum.com/u/Maxim_D)\
**Post date:** [December 20, 2013, 10:07pm UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106/6 "2013-12-20T22:07:42Z")

</div>

On 2013-12-20 21:19, Maxim K. wrote:

> On 12/19/13 1:59 PM, athalas wrote:
> 
> > Where would we find documentation on the “fastopen” parameter?
> 
> [Module ngx\_http\_core\_module](http://nginx.org/r/listen)

In the documentation above it’s pointed out that the server needs to  
tolerate the possibility of receiving duplicate initial SYN segments. I  
am not exactly sure on what level I would ensure that the server  
performs properly in this regard. According to the draft on TFO  
([draft-cheng-tcpm-fastopen-00](http://tools.ietf.org/html/draft-cheng-tcpm-fastopen-00.html)), 2.1.:

Rather than trying to capture all the dubious SYN packets to make TFO  
100% compatible with TCP semantics, we’ve made a design decision  
early on to accept old SYN packets with data, i.e., to allow TFO for  
a class of applications that are tolerant of duplicate SYN packets  
with data, e.g., idempotent or query type transactions. We believe  
this is the right design trade-off balancing complexity with  
usefulness. There is a large class of applications that can tolerate  
dubious transaction requests.

For this reason, TFO MUST be disabled by default, and only enabled  
explicitly by applications on a per service port basis.

Wouldn’t it be the responsibility of nginx (the application) to handle  
duplicate SYNs?

---

<div class="post-metadata">

**Author:** ![Maxim\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/da6949/32.png) [@Maxim\_D](https://www.ruby-forum.com/u/Maxim_D)\
**Post date:** [December 19, 2013, 12:07pm UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106/7 "2013-12-19T12:07:32Z")

</div>

Hello Nginx users,

Now available: Nginx 1.5.8 for Windows [Nginx 1.5.8 for Windows – Kevin Worthington](http://goo.gl/zq3gGm) (32-bit and  
64-bit versions)

These versions are to support legacy users who are already using Cygwin  
based builds of Nginx. Officially supported native Windows binaries are  
at  
[nginx.org](http://nginx.org).

Announcements are also available via my Twitter stream (  
[http://twitter.com/kworthington](http://twitter.com/kworthington)), if you prefer to receive updates that  
way.

## Thank you, Kevin

Kevin W.  
kworthington _@_ (gmail] [dot} {com)

> **[Kevin Worthington](https://kevinworthington.com/)**
>
> Nginx for Windows, WordPress, iPhone, Gmail, Windows, Linux, Lighttpd for Windows, and Tech

[http://twitter.com/kworthington](http://twitter.com/kworthington)

---

<div class="post-metadata">

**Author:** ![Maxim\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/da6949/32.png) [@Maxim\_D](https://www.ruby-forum.com/u/Maxim_D)\
**Post date:** [December 21, 2013, 10:54am UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106/8 "2013-12-21T10:54:11Z")

</div>

On Fri, Dec 20, 2013 at 10:06:59PM +0100, Alex wrote:

> ([draft-cheng-tcpm-fastopen-00](http://tools.ietf.org/html/draft-cheng-tcpm-fastopen-00.html)), 2.1.:  
> For this reason, TFO MUST be disabled by default, and only enabled  
> explicitly by applications on a per service port basis.
> 
> Wouldn’t it be the responsibility of nginx (the application) to handle  
> duplicate SYNs?

It’s the property of the Web application, not the server (nginx).

Please see section 3.1 of

> **[37517.pdf](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37517.pdf)**

for a less formal explanation of when it’s safe to enable TFO:

: We found that to manage stale or duplicate SYN packets would  
: add significant complexity to our design, and thus we decided  
: to accept old SYN packets with data in some rare cases; this  
: decision restricts the use of TFO to applications that are  
: tolerant to duplicate connection / data requests. Since a  
: wide variety of applications can tolerate duplicate SYN packets  
: with data (e.g. those that are idempotent or perform query-style  
: transactions), we believe this constitutes an appropriate tradeoff.

---

<div class="post-metadata">

**Author:** ![Maxim\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/da6949/32.png) [@Maxim\_D](https://www.ruby-forum.com/u/Maxim_D)\
**Post date:** [December 22, 2013, 4:12pm UTC](https://www.ruby-forum.com/t/nginx-1-5-8/238106/9 "2013-12-22T16:12:35Z")

</div>

On 2013-12-21 10:53, Ruslan E. wrote:

> It’s the property of the Web application, not the server (nginx).
> 
> Please see section 3.1 of

> **[37517.pdf](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37517.pdf)**

> for a less formal explanation of when it’s safe to enable TFO:

Thanks for the explanation and the link, Ruslan. I somehow had the OSI  
model (it’s application layer) in mind when I read about the  
restriction.
