News for hackers. Stuff that matters.
Re:Nginx 1.2.0 (stable) released by moonboots on Monday April 23, 2012 @07:37PM (#3881600)
In terms of diffs, nginx 1.2.0 adds only a few bugfixes to the 1.1.19 release. However, this release is significant in that it marks the 1.1.x dev branch to stable.

The main feature of the 1.1.x branch I've used is http/1.1 reverse proxying. Previously in 1.0, nginx spoke http/1.0 with reverse proxies. This upgrade allows nginx to make persistent connections with backend servers instead of creating new connections whenever it forward requests.

Re:Nginx 1.2.0 (stable) released by nilsbunger on Tuesday April 24, 2012 @01:15AM (#3882541)
Anyone know what the diffs are between the last STABLE release (1.0.15) and 1.2.0? If you're in production, isn't that the path you'd be following?

Surprisingly I can't seem to find that info.

Re:Nginx 1.2.0 (stable) released by moonboots on Tuesday April 24, 2012 @01:50AM (#3882617)
Unfortunately these changes aren't summarized. The differences are all the 'feature' bullets in the changes webpage from 1.1.0 to 1.2.0. I've assembled these below:

  - the $connection_requests variable.
  - $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and $tcpinfo_rcv_space variables.  
  - the "worker_cpu_affinity" directive now works on FreeBSD.
  - the "xslt_param" and "xslt_string_param" directives.  Thanks to Samuel Behan.  
  - the "from" parameter of the "disable_symlinks" directive.
  - the "return" and "error_page" directives can now be used to return 307 redirections.  
  - the "disable_symlinks" directive.
  - the "proxy_cookie_domain" and "proxy_cookie_path" directives.  
  - multiple "limit_req" limits may be used simultaneously.
  - the "TLSv1.1" and "TLSv1.2" parameters of the "ssl_protocols" directive.  
  - the "proxy/fastcgi/scgi/uwsgi_cache_lock", "proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives.  
  - the "pcre_jit" directive.
  - the "if" SSI command supports captures in regular expressions.  
  - the "so_keepalive" parameter of the "listen" directive.  Thanks to Vsevolod Stakhov.  
  - the "if_not_empty" parameter of the "fastcgi/scgi/uwsgi_param" directives.  
  - the $https variable.
  - the "proxy_redirect" directive supports variables in the first parameter.
  - the "proxy_redirect" directive supports regular expressions.  
  - the "valid" parameter of the "resolver" directive. By default TTL returned by a DNS server is used.
  - support for multiple "limit_conn" limits on the same level.  
  - the "image_filter_sharpen" directive.  
  - support of several DNS servers in the "resolver" directive.  Thanks to Kirill A. Korinskiy.
  - "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support the following additional values: X-Accel-Limit-Rate,
  - decrease of memory consumption if SSL is used.  
  - the "uwsgi_buffering" and "scgi_buffering" directives.  Thanks to Peter Smit.
  - the ngx_http_upstream_keepalive module.  
  - the "proxy_http_version" directive.  
  - the "fastcgi_keep_conn" directive.  
  - the "worker_aio_requests" directive.  
  - the module ngx_http_mp4_module.  
  - the "max_ranges" directive.  
  - now shared zones and caches use POSIX semaphores on Solaris.  Thanks to Den Ivanov.
  - accept filters are now supported on NetBSD.  
  - cache loader run time decrease.  
  - "loader_files", "loader_sleep", and "loader_threshold" options of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
  - loading time decrease of configuration with large number of HTTPS sites.
  - now nginx supports ECDHE key exchange ciphers.  Thanks to Adrian Kotelba.
  - the "lingering_close" directive.  Thanks to Maxim Dounin.
Re:Nginx 1.2.0 (stable) released by nilsbunger on Tuesday April 24, 2012 @03:40AM (#3882907)
This isn't quite accurate. Some of these features are in the 1.0.x releases too.

Also, I think there are bugfixes (and maybe security patches?) in 1.2.x that weren't in 1.0.x.

I'm just surprised that there isn't a coalesced list of changes for going from stable->stable release.

If I was in wide production, I'd want more guidance on what changed, and when I should be upgrading.

Re:Nginx 1.2.0 (stable) released by moonboots on Tuesday April 24, 2012 @04:04AM (#3882949)
You're right; it looks like a few of these features like the max range directive were also included in 1.0.

Bug fixes and security patches are applied to both stable and dev branches. Some of the recent buffer overflow patches only affect features added in 1.1.

Hopefully future changelogs can be more comprehensive and usable now that nginx has venture funding.

Re:Nginx 1.2.0 (stable) released by derefr on Monday April 23, 2012 @08:25PM (#3881776)
Interesting--does the above-mentioned feature mean that nginx can finally be put in front of a websocket server (e.g., socket.io)?
Re:Nginx 1.2.0 (stable) released by moonboots on Monday April 23, 2012 @09:56PM (#3882043)
I'm not sure if understanding HTTP/1.1 is enough to bridge a websocket connection between client and backend websocket server. However, there is a 3rd party tcp proxy module for nginx that allows proxying websockets:

https://github.com/yaoweibin/nginx_tcp_proxy_module

Re:Nginx 1.2.0 (stable) released by pornel on Tuesday April 24, 2012 @06:33AM (#3883270)
WebSockets aren't HTTP — fake header is not enough to fool HTTP-compliant servers/proxies. You could try HTTPS WebSockets with TLS 1.1 SNI vhosts.

I recommend using Server-Sent Events instead. You get nearly same API for realtime server->client push, and they're HTTP-compatible:

http://html5doctor.com/server-sent-events/ http://speakerdeck.com/u/pornel/p/server-sent-events

Re:Nginx 1.2.0 (stable) released by Argorak on Tuesday April 24, 2012 @02:57AM (#3882807)
If you use TCP proxying, you have no way to react on HTTP headers. So either your Websocket server runs on a different port or interface or you have to proxy _all_ traffic on that port to your websocket backend.
Re:Nginx 1.2.0 (stable) released by pippy on Monday April 23, 2012 @09:24PM (#3881953)
This is fantastic, I was just talking about this on HN a few days ago: http://news.ycombinator.com/reply?id=3865966&whence=thre...
Re:Nginx 1.2.0 (stable) released by AUmrysh on Monday April 23, 2012 @08:28PM (#3881786)
I think it's capable of doing this, but I read that you have to disable the http proxy cache or something similar.

edit: that's for version 1.0.X though, not sure about 1.1

Re:Nginx 1.2.0 (stable) released by patrickaljord on Monday April 23, 2012 @08:04PM (#3881697)
In case you're wondering like me, SPDY is planed for the next 1.3 version according to their trac milestone http://trac.nginx.org/nginx/milestone/1.3.0
Re:Nginx 1.2.0 (stable) released by mdesantis on Tuesday April 24, 2012 @05:11AM (#3883083)
as WebSockets too
Re:Nginx 1.2.0 (stable) released by HeroNote on Monday April 23, 2012 @09:57PM (#3882045)
Re:Nginx 1.2.0 (stable) released by mattparlane on Tuesday April 24, 2012 @01:45AM (#3882603)
That looks like a really useful resource, but seriously -- EXE or CHM files? I would have thought that a huge chunk of the people likely to be deploying nginx would be on either OSX or Linux machines...
Re:Nginx 1.2.0 (stable) released by mrweasel on Tuesday April 24, 2012 @05:04AM (#3883070)
That does seem a bit weird. Anyway the Nginx manual is quite good in it self. Before setting up our production boxes I read through most of the manual and so fare I have yet to encounter any issue that I could figure out using just the manual.
Re:Nginx 1.2.0 (stable) released by mh- on Tuesday April 24, 2012 @12:09AM (#3882365)
no PDF?
Re:Nginx 1.2.0 (stable) released by AncientPC on Monday April 23, 2012 @06:45PM (#3881368)
Changelog: http://nginx.org/en/CHANGES-1.2

Differences between v1.1.19 and v1.2:

  Changes with nginx 1.2.0                                         23 Apr 2012

    *) Bugfix: a segmentation fault might occur in a worker process if the
       "try_files" directive was used; the bug had appeared in 1.1.19.

    *) Bugfix: response might be truncated if there were more than IOV_MAX
       buffers used.

    *) Bugfix: in the "crop" parameter of the "image_filter" directive.
       Thanks to Maxim Bublis.
Re:Nginx 1.2.0 (stable) released by Jonanin on Monday April 23, 2012 @06:46PM (#3881372)
I thought maybe the "1.2.0" version number meant some new features, but I checked the CHANGES file and it's just three bugfixes; they just have an odd version numbering scheme.
Re:Nginx 1.2.0 (stable) released by mattparlane on Monday April 23, 2012 @07:00PM (#3881440)
They use the (fairly common) scheme where odd-numbered point releases are development and even-numbered point releases are (declared) stable, so there is actually a lot in this. Check all the "Feature:" lines in the 1.1.x versions.
Re:Nginx 1.2.0 (stable) released by cbsmith on Monday April 23, 2012 @08:45PM (#3881847)
Compared to the 1.0.x branch, there are a lot of new features.
Re:Nginx 1.2.0 (stable) released by bostonvaulter2 on Tuesday April 24, 2012 @02:03AM (#3882661)
But unfortunately they are not summarized anywhere.
Re:Nginx 1.2.0 (stable) released by njharman on Tuesday April 24, 2012 @03:04AM (#3882819)