Hello guys!

I am excited to announce that the new development version of
ngx_openresty, 1.2.8.1, is now released:

    http://openresty.org/#Download

Special thanks go to all our contributors and users for helping make
this release happen!

Below is the complete change log for this release, as compared to the
last (stable) release, 1.2.7.6:

 *   upgraded the Nginx core to 1.2.8.

     *   see <http://nginx.org/en/CHANGES-1.2> for changes.

 *   upgraded LuaNginxModule to 0.8.1.

     *   feature: implemented the new timer API: the ngx.timer.at Lua
         function and two configure directives lua_max_pending_timers
         and lua_max_running_timers. thanks Matthieu Tourne for
         requesting this feature.

     *   feature: added the "U" regex option to the ngx.re API to
         mean enabling the UTF-8 matching mode but disabling UTF-8
         validity check on the subject strings. thanks Lance Li for
         the patch.

     *   bugfix: setting ngx.header.etag could not affect other
         things reading the "ETag" response header (like the etag
         directive introduced in Nginx 1.3.3+). thanks Brian Akins
         for the patch.

     *   bugfix: when lua_http10_buffering is on, for HTTP 1.0
         requests, ngx.exit(N) would always trigger the Nginx's own
         error pages when N >= 300. thanks Matthieu Tourne for
         reporting this issue.

     *   bugfix: modifying the "Cookie" request headers via
         ngx.req.set_header or ngx.req.clear_header did not update
         the Nginx internal data structure, "r->headers_in.cookies",
         at the same time, which might cause issues when reading
         variables $cookie_COOKIE, for example. thanks Matthieu
         Tourne for the patch.

     *   bugfix: modifying the "Via" request header with
         ngx.req.set_header or ngx.req.clear_header did not update
         the special field "r->headers_in.via" when the ngx_gzip
         module was enabled.

     *   bugfix: modifying the "X-Real-IP" request header with
         ngx.req.set_header or ngx.req.clear_header did not update
         the special field "r->headers_in.x_real_ip" when the
         ngx_realip module was enabled. thanks Matthieu Tourne for
         the patch.

     *   bugfix: modifying the "Connection" request header via
         ngx.req.set_header or ngx.req.clear_header did not update
         the special internal field in the Nginx core,
         "r->headers_in.connection_type". Thanks Matthieu Tourne for
         the patch.

     *   bugfix: modifying the "User-Agent" request header via
         ngx.req.set_header or ngx.req.clear_header did not update
         those special internal flags in the Nginx core, like
         "r->headers_in.msie6" and "r->headers_in.opera". Thanks
         Matthieu Tourne for the patch.

     *   bugfix: fixed several places in the header API where we
         should return "NGX_ERROR" instead of
         "NGX_HTTP_INTERNAL_SERVER_ERROR".

 *   upgraded SrcacheNginxModule to 0.20.

     *   bugfix: use of C global variables at the configuration phase
         would cause troubles when "HUP" reload failed.

 *   upgraded HeadersMoreNginxModule to 0.20.

     *   bugfix: modifying the "Cookie" request headers via
         more_set_input_headers or more_clear_input_headers did not
         update the Nginx internal data structure,
         "r->headers_in.cookies", at the same time, which might cause
         issues when reading variable $cookie_COOKIE, for example.

     *   bugfix: modifying the "Via" request header via
         more_set_input_headers or more_clear_input_headers did not
         update the special internal field in the Nginx core,
         "r->headers_in.via", when the ngx_gzip module was enabled.

     *   bugfix: modifying the "X-Real-IP" request header via
         more_set_input_headers or more_clear_input_headers did not
         update the special internal field in the Nginx core,
         "r->headers_in.x_real_ip", when the ngx_realip module was
         enabled.

     *   bugfix: modifying the "Connection" request header via
         more_set_input_headers or more_clear_input_headers did not
         update the special internal field in the Nginx core,
         "r->headers_in.connection_type".

     *   bugfix: modifying the "User-Agent" request header via
         more_set_input_headers or more_clear_input_headers did not
         update those special internal flags in the Nginx core, like
         "r->headers_in.msie6" and "r->headers_in.opera".

     *   bugfix: fixed places where we should return "NGX_ERROR"
         instead of "NGX_HTTP_INTERNAL_SERVER_ERROR".

 *   feature: always enable debuginfo in the bundled LuaJIT 2.0.1
     build and Lua 5.1.5 build to support Nginx Systemtap Toolkit.

 *   bugfix: no longer pass "-O0" to gcc when the "--with-debug"
     configure option is specified because gcc often generates bogus
     DWARF info when optimization is turned off.

The HTML version of the change log with lots of helpful hyper-links
can be browsed here:

    http://openresty.org/#ChangeLog1002008

OpenResty (aka. ngx_openresty) is a full-fledged web application
server by bundling the standard Nginx core, lots of 3rd-party Nginx
modules and Lua libraries, as well as most of their external
dependencies. See OpenResty's homepage for details:

    http://openresty.org/

We have been running extensive testing on our Amazon EC2 test cluster
and ensure that all the components (including the Nginx core) play
well together. The latest test report can always be found here:

    http://qa.openresty.org

Enjoy!
-agentzh
    timer看起来是个好东西,但典型应用场景是什么样呢?agentzh能不能帮忙给描述一下,谢谢。

    Lance


    On Sat, Apr 27, 2013 at 9:46 AM, agentzh <age...@gmail.com> wrote:
    Hello guys!

    I am excited to announce that the new development version of
    ngx_openresty, 1.2.8.1, is now released:

        http://openresty.org/#Download

    Special thanks go to all our contributors and users for helping make
    this release happen!

    Below is the complete change log for this release, as compared to the
    last (stable) release, 1.2.7.6:

     *   upgraded the Nginx core to 1.2.8.

         *   see <http://nginx.org/en/CHANGES-1.2> for changes.

     *   upgraded LuaNginxModule to 0.8.1.

         *   feature: implemented the new timer API: the ngx.timer.at Lua
             function and two configure directives lua_max_pending_timers
             and lua_max_running_timers. thanks Matthieu Tourne for
             requesting this feature.

         *   feature: added the "U" regex option to the ngx.re API to
             mean enabling the UTF-8 matching mode but disabling UTF-8
             validity check on the subject strings. thanks Lance Li for
             the patch.

         *   bugfix: setting ngx.header.etag could not affect other
             things reading the "ETag" response header (like the etag
             directive introduced in Nginx 1.3.3+). thanks Brian Akins
             for the patch.

         *   bugfix: when lua_http10_buffering is on, for HTTP 1.0
             requests, ngx.exit(N) would always trigger the Nginx's own
             error pages when N >= 300. thanks Matthieu Tourne for
             reporting this issue.

         *   bugfix: modifying the "Cookie" request headers via
             ngx.req.set_header or ngx.req.clear_header did not update
             the Nginx internal data structure, "r->headers_in.cookies",
             at the same time, which might cause issues when reading
             variables $cookie_COOKIE, for example. thanks Matthieu
             Tourne for the patch.

         *   bugfix: modifying the "Via" request header with
             ngx.req.set_header or ngx.req.clear_header did not update
             the special field "r->headers_in.via" when the ngx_gzip
             module was enabled.

         *   bugfix: modifying the "X-Real-IP" request header with
             ngx.req.set_header or ngx.req.clear_header did not update
             the special field "r->headers_in.x_real_ip" when the
             ngx_realip module was enabled. thanks Matthieu Tourne for
             the patch.

         *   bugfix: modifying the "Connection" request header via
             ngx.req.set_header or ngx.req.clear_header did not update
             the special internal field in the Nginx core,
             "r->headers_in.connection_type". Thanks Matthieu Tourne for
             the patch.

         *   bugfix: modifying the "User-Agent" request header via
             ngx.req.set_header or ngx.req.clear_header did not update
             those special internal flags in the Nginx core, like
             "r->headers_in.msie6" and "r->headers_in.opera". Thanks
             Matthieu Tourne for the patch.

         *   bugfix: fixed several places in the header API where we
             should return "NGX_ERROR" instead of
             "NGX_HTTP_INTERNAL_SERVER_ERROR".

     *   upgraded SrcacheNginxModule to 0.20.

         *   bugfix: use of C global variables at the configuration phase
             would cause troubles when "HUP" reload failed.

     *   upgraded HeadersMoreNginxModule to 0.20.

         *   bugfix: modifying the "Cookie" request headers via
             more_set_input_headers or more_clear_input_headers did not
             update the Nginx internal data structure,
             "r->headers_in.cookies", at the same time, which might cause
             issues when reading variable $cookie_COOKIE, for example.

         *   bugfix: modifying the "Via" request header via
             more_set_input_headers or more_clear_input_headers did not
             update the special internal field in the Nginx core,
             "r->headers_in.via", when the ngx_gzip module was enabled.

         *   bugfix: modifying the "X-Real-IP" request header via
             more_set_input_headers or more_clear_input_headers did not
             update the special internal field in the Nginx core,
             "r->headers_in.x_real_ip", when the ngx_realip module was
             enabled.

         *   bugfix: modifying the "Connection" request header via
             more_set_input_headers or more_clear_input_headers did not
             update the special internal field in the Nginx core,
             "r->headers_in.connection_type".

         *   bugfix: modifying the "User-Agent" request header via
             more_set_input_headers or more_clear_input_headers did not
             update those special internal flags in the Nginx core, like
             "r->headers_in.msie6" and "r->headers_in.opera".

         *   bugfix: fixed places where we should return "NGX_ERROR"
             instead of "NGX_HTTP_INTERNAL_SERVER_ERROR".

     *   feature: always enable debuginfo in the bundled LuaJIT 2.0.1
         build and Lua 5.1.5 build to support Nginx Systemtap Toolkit.

     *   bugfix: no longer pass "-O0" to gcc when the "--with-debug"
         configure option is specified because gcc often generates bogus
         DWARF info when optimization is turned off.

    The HTML version of the change log with lots of helpful hyper-links
    can be browsed here:

        http://openresty.org/#ChangeLog1002008

    OpenResty (aka. ngx_openresty) is a full-fledged web application
    server by bundling the standard Nginx core, lots of 3rd-party Nginx
    modules and Lua libraries, as well as most of their external
    dependencies. See OpenResty's homepage for details:

        http://openresty.org/

    We have been running extensive testing on our Amazon EC2 test cluster
    and ensure that all the components (including the Nginx core) play
    well together. The latest test report can always be found here:

        http://qa.openresty.org

    Enjoy!
    -agentzh.



      Hello!
      
      On Fri, Apr 26, 2013 at 7:46 PM, Lance wrote:
      > timer看起来是个好东西,但典型应用场景是什么样呢?agentzh能不能帮忙给描述一下,谢谢。
      >
      
      我目前能想到的应用场景有:
      
      1. 可以实现类似 cron job 的功能,比如定时(每几秒钟)进行后端服务的健康检查。这里需要使用 re-occurring timer.
      
      2. 可以在 log_by_lua、header_filter_by_lua 和 body_filter_by_lua 等不能使用非阻塞
      I/O 的上下文中通过 0 延时的定时器执行异步的非阻塞 I/O 操作(例如把数据即时推送给 TCP/UDP/unix domain
      socket 服务)。
      
      3. 可以用于专门的 web 统计服务,立即响应请求,然后通过 0 延时的定时器来记录访问日志(比如推送给后端的 TCP/UDP/unix
      domain socket 服务),这样日志数据的推送和处理可以不计入请求的响应延时。
      
      相信大家还能想到其他有趣的玩法 :)
      
      Best regards,
      -agentzh
      
        第三个现在很适用!哈哈,回头升级ngx_lua,直接在配置里完成某些日志的推送



        2013/4/27 agentzh <age...@gmail.com>
        Hello!

        On Fri, Apr 26, 2013 at 7:46 PM, Lance wrote:
        > timer看起来是个好东西,但典型应用场景是什么样呢?agentzh能不能帮忙给描述一下,谢谢。
        >

        我目前能想到的应用场景有:

        1. 可以实现类似 cron job 的功能,比如定时(每几秒钟)进行后端服务的健康检查。这里需要使用 re-occurring timer.

        2. 可以在 log_by_lua、header_filter_by_lua 和 body_filter_by_lua 等不能使用非阻塞
        I/O 的上下文中通过 0 延时的定时器执行异步的非阻塞 I/O 操作(例如把数据即时推送给 TCP/UDP/unix domain
        socket 服务)。

        3. 可以用于专门的 web 统计服务,立即响应请求,然后通过 0 延时的定时器来记录访问日志(比如推送给后端的 TCP/UDP/unix
        domain socket 服务),这样日志数据的推送和处理可以不计入请求的响应延时。

        相信大家还能想到其他有趣的玩法 :)

        Best regards,
        -agentzh

        --



          第三种我在用,但直接用的是 ngx.eof(),现在这个timer倒是更直接了,不再那么浏览器依赖

          Lance


          2013/4/27 smallfish <small...@gmail.com>
          第三个现在很适用!哈哈,回头升级ngx_lua,直接在配置里完成某些日志的推送



          2013/4/27 agentzh <age...@gmail.com>
          Hello!

          On Fri, Apr 26, 2013 at 7:46 PM, Lance wrote:
          > timer看起来是个好东西,但典型应用场景是什么样呢?agentzh能不能帮忙给描述一下,谢谢。
          >

          我目前能想到的应用场景有:

          1. 可以实现类似 cron job 的功能,比如定时(每几秒钟)进行后端服务的健康检查。这里需要使用 re-occurring timer.

          2. 可以在 log_by_lua、header_filter_by_lua 和 body_filter_by_lua 等不能使用非阻塞
          I/O 的上下文中通过 0 延时的定时器执行异步的非阻塞 I/O 操作(例如把数据即时推送给 TCP/UDP/unix domain
          socket 服务)。

          3. 可以用于专门的 web 统计服务,立即响应请求,然后通过 0 延时的定时器来记录访问日志(比如推送给后端的 TCP/UDP/unix
          domain socket 服务),这样日志数据的推送和处理可以不计入请求的响应延时。

          相信大家还能想到其他有趣的玩法 :)

          Best regards,
          -agentzh

          --



          --
          #xA0;
           

            对后端健康检查应用来说,如果后端对压力比较敏感的话,在openresty里还需要实现多worker共享状态,感觉会比较麻烦

            Lance


            2013/4/27 Lance <lance...@gmail.com>
            第三种我在用,但直接用的是 ngx.eof(),现在这个timer倒是更直接了,不再那么浏览器依赖

            Lance


            2013/4/27 smallfish <small...@gmail.com>
            第三个现在很适用!哈哈,回头升级ngx_lua,直接在配置里完成某些日志的推送



            2013/4/27 agentzh <age...@gmail.com>
            Hello!

            On Fri, Apr 26, 2013 at 7:46 PM, Lance wrote:
            > timer看起来是个好东西,但典型应用场景是什么样呢?agentzh能不能帮忙给描述一下,谢谢。
            >

            我目前能想到的应用场景有:

            1. 可以实现类似 cron job 的功能,比如定时(每几秒钟)进行后端服务的健康检查。这里需要使用 re-occurring timer.

            2. 可以在 log_by_lua、header_filter_by_lua 和 body_filter_by_lua 等不能使用非阻塞
            I/O 的上下文中通过 0 延时的定时器执行异步的非阻塞 I/O 操作(例如把数据即时推送给 TCP/UDP/unix domain
            socket 服务)。

            3. 可以用于专门的 web 统计服务,立即响应请求,然后通过 0 延时的定时器来记录访问日志(比如推送给后端的 TCP/UDP/unix
            domain socket 服务),这样日志数据的推送和处理可以不计入请求的响应延时。

            相信大家还能想到其他有趣的玩法 :)

            Best regards,
            -agentzh

            --



            --
            #xA0;
             


              如果健康检查都顶不住的话。。。。。


              2013/4/27 Lance <lance...@gmail.com>
              对后端健康检查应用来说,如果后端对压力比较敏感的话,在openresty里还需要实现多worker共享状态,感觉会比较麻烦

              Lance


              2013/4/27 Lance <lance...@gmail.com>
              第三种我在用,但直接用的是 ngx.eof(),现在这个timer倒是更直接了,不再那么浏览器依赖

              Lance


              2013/4/27 smallfish <small...@gmail.com>
              第三个现在很适用!哈哈,回头升级ngx_lua,直接在配置里完成某些日志的推送



              2013/4/27 agentzh <age...@gmail.com>
              Hello!

              On Fri, Apr 26, 2013 at 7:46 PM, Lance wrote:
              > timer看起来是个好东西,但典型应用场景是什么样呢?agentzh能不能帮忙给描述一下,谢谢。
              >

              我目前能想到的应用场景有:

              1. 可以实现类似 cron job 的功能,比如定时(每几秒钟)进行后端服务的健康检查。这里需要使用 re-occurring timer.

              2. 可以在 log_by_lua、header_filter_by_lua 和 body_filter_by_lua 等不能使用非阻塞
              I/O 的上下文中通过 0 延时的定时器执行异步的非阻塞 I/O 操作(例如把数据即时推送给 TCP/UDP/unix domain
              socket 服务)。

              3. 可以用于专门的 web 统计服务,立即响应请求,然后通过 0 延时的定时器来记录访问日志(比如推送给后端的 TCP/UDP/unix
              domain socket 服务),这样日志数据的推送和处理可以不计入请求的响应延时。

              相信大家还能想到其他有趣的玩法 :)

              Best regards,
              -agentzh

              --



              --
              sp;
               


              --
              sp;
               

                主要是没必要,尤其是前端多的情况下,n台前端*m个worker

                Lance


                2013/4/27 wd <...@wdicc.com>
                如果健康检查都顶不住的话。。。。。


                2013/4/27 Lance <lance...@gmail.com>
                对后端健康检查应用来说,如果后端对压力比较敏感的话,在openresty里还需要实现多worker共享状态,感觉会比较麻烦

                Lance


                2013/4/27 Lance <lance...@gmail.com>
                第三种我在用,但直接用的是 ngx.eof(),现在这个timer倒是更直接了,不再那么浏览器依赖

                Lance


                2013/4/27 smallfish <small...@gmail.com>
                第三个现在很适用!哈哈,回头升级ngx_lua,直接在配置里完成某些日志的推送



                2013/4/27 agentzh <age...@gmail.com>
                Hello!

                On Fri, Apr 26, 2013 at 7:46 PM, Lance wrote:
                > timer看起来是个好东西,但典型应用场景是什么样呢?agentzh能不能帮忙给描述一下,谢谢。
                >

                我目前能想到的应用场景有:

                1. 可以实现类似 cron job 的功能,比如定时(每几秒钟)进行后端服务的健康检查。这里需要使用 re-occurring timer.

                2. 可以在 log_by_lua、header_filter_by_lua 和 body_filter_by_lua 等不能使用非阻塞
                I/O 的上下文中通过 0 延时的定时器执行异步的非阻塞 I/O 操作(例如把数据即时推送给 TCP/UDP/unix domain
                socket 服务)。

                3. 可以用于专门的 web 统计服务,立即响应请求,然后通过 0 延时的定时器来记录访问日志(比如推送给后端的 TCP/UDP/unix
                domain socket 服务),这样日志数据的推送和处理可以不计入请求的响应延时。

                相信大家还能想到其他有趣的玩法 :)

                Best regards,
                -agentzh

                --



                --
                #xA0;
                 


                --
                #xA0;
                 

                --
                #xA0;
                 

                  閿熸枻鎷烽敓鏂ゆ嫹閿熸枻鎷烽敓鏂ゆ嫹蹇楀簲閿熺煫锝忔嫹閿熸枻鎷烽敓鎻枻鎷烽敓鏂ゆ嫹閿熸枻鎷穙penresty閿熸枻鎷锋椂閿熸触锛屾拝鎷烽敓鏂ゆ嫹閿熼ズ浼欐嫹锠撯挄閿熸枻鎷烽敓缁炴唻鎷烽敓? openresty閿熺嫛鐚存嫹瀹為敓鏂ゆ嫹閿熸枻鎷峰織閿熸枻鎷烽敓鏂ゆ嫹閿熸枻鎷稩O閿熷彨纰夋嫹閿熶粙鐑﹂敓鏂ゆ嫹閿熸枻鎷烽敓鏉板尅鎷烽敓鏂ゆ嫹閿熺粸纭锋嫹閿熷彨鎲嬫嫹娑傞敓鏂ゆ嫹閿熸枻鎷峰睉鑻归敓闃剁》鎷烽敓缁炵鎷烽敓?timer.閿熸枻鎷烽敓鏂ゆ嫹涓
                    春哥:
                    什么时候才可以推出websocket阿,这个功能可以做更多有趣的应用。
                     
                    2013-04-27

                    wgm.china

                    发件人:agentzh <age...@gmail.com>
                    发送时间:2013-04-27 09:46
                    主题:[openresty] [ANN] ngx_openresty devel version 1.2.8.1 released
                    收件人:"nginx"<nginx@nginx.org>,"openresty"<openresty@googlegroups.com>,"openresty-en"<openresty-en@googlegroups.com>
                    抄送:
                     
                    Hello guys! 
                     
                    I am excited to announce that the new development version of 
                    ngx_openresty, 1.2.8.1, is now released: 
                     
                        http://openresty.org/#Download 
                     
                    Special thanks go to all our contributors and users for helping make 
                    this release happen! 
                     
                    Below is the complete change log for this release, as compared to the 
                    last (stable) release, 1.2.7.6: 
                     
                     *   upgraded the Nginx core to 1.2.8. 
                     
                         *   see <http://nginx.org/en/CHANGES-1.2> for changes. 
                     
                     *   upgraded LuaNginxModule to 0.8.1. 
                     
                         *   feature: implemented the new timer API: the ngx.timer.at Lua 
                             function and two configure directives lua_max_pending_timers 
                             and lua_max_running_timers. thanks Matthieu Tourne for 
                             requesting this feature. 
                     
                         *   feature: added the "U" regex option to the ngx.re API to 
                             mean enabling the UTF-8 matching mode but disabling UTF-8 
                             validity check on the subject strings. thanks Lance Li for 
                             the patch. 
                     
                         *   bugfix: setting ngx.header.etag could not affect other 
                             things reading the "ETag" response header (like the etag 
                             directive introduced in Nginx 1.3.3+). thanks Brian Akins 
                             for the patch. 
                     
                         *   bugfix: when lua_http10_buffering is on, for HTTP 1.0 
                             requests, ngx.exit(N) would always trigger the Nginx's own 
                             error pages when N >= 300. thanks Matthieu Tourne for 
                             reporting this issue. 
                     
                         *   bugfix: modifying the "Cookie" request headers via 
                             ngx.req.set_header or ngx.req.clear_header did not update 
                             the Nginx internal data structure, "r->headers_in.cookies", 
                             at the same time, which might cause issues when reading 
                             variables $cookie_COOKIE, for example. thanks Matthieu 
                             Tourne for the patch. 
                     
                         *   bugfix: modifying the "Via" request header with 
                             ngx.req.set_header or ngx.req.clear_header did not update 
                             the special field "r->headers_in.via" when the ngx_gzip 
                             module was enabled. 
                     
                         *   bugfix: modifying the "X-Real-IP" request header with 
                             ngx.req.set_header or ngx.req.clear_header did not update 
                             the special field "r->headers_in.x_real_ip" when the 
                             ngx_realip module was enabled. thanks Matthieu Tourne for 
                             the patch. 
                     
                         *   bugfix: modifying the "Connection" request header via 
                             ngx.req.set_header or ngx.req.clear_header did not update 
                             the special internal field in the Nginx core, 
                             "r->headers_in.connection_type". Thanks Matthieu Tourne for 
                             the patch. 
                     
                         *   bugfix: modifying the "User-Agent" request header via 
                             ngx.req.set_header or ngx.req.clear_header did not update 
                             those special internal flags in the Nginx core, like 
                             "r->headers_in.msie6" and "r->headers_in.opera". Thanks 
                             Matthieu Tourne for the patch. 
                     
                         *   bugfix: fixed several places in the header API where we 
                             should return "NGX_ERROR" instead of 
                             "NGX_HTTP_INTERNAL_SERVER_ERROR". 
                     
                     *   upgraded SrcacheNginxModule to 0.20. 
                     
                         *   bugfix: use of C global variables at the configuration phase 
                             would cause troubles when "HUP" reload failed. 
                     
                     *   upgraded HeadersMoreNginxModule to 0.20. 
                     
                         *   bugfix: modifying the "Cookie" request headers via 
                             more_set_input_headers or more_clear_input_headers did not 
                             update the Nginx internal data structure, 
                             "r->headers_in.cookies", at the same time, which might cause 
                             issues when reading variable $cookie_COOKIE, for example. 
                     
                         *   bugfix: modifying the "Via" request header via 
                             more_set_input_headers or more_clear_input_headers did not 
                             update the special internal field in the Nginx core, 
                             "r->headers_in.via", when the ngx_gzip module was enabled. 
                     
                         *   bugfix: modifying the "X-Real-IP" request header via 
                             more_set_input_headers or more_clear_input_headers did not 
                             update the special internal field in the Nginx core, 
                             "r->headers_in.x_real_ip", when the ngx_realip module was 
                             enabled. 
                     
                         *   bugfix: modifying the "Connection" request header via 
                             more_set_input_headers or more_clear_input_headers did not 
                             update the special internal field in the Nginx core, 
                             "r->headers_in.connection_type". 
                     
                         *   bugfix: modifying the "User-Agent" request header via 
                             more_set_input_headers or more_clear_input_headers did not 
                             update those special internal flags in the Nginx core, like 
                             "r->headers_in.msie6" and "r->headers_in.opera". 
                     
                         *   bugfix: fixed places where we should return "NGX_ERROR" 
                             instead of "NGX_HTTP_INTERNAL_SERVER_ERROR". 
                     
                     *   feature: always enable debuginfo in the bundled LuaJIT 2.0.1 
                         build and Lua 5.1.5 build to support Nginx Systemtap Toolkit. 
                     
                     *   bugfix: no longer pass "-O0" to gcc when the "--with-debug" 
                         configure option is specified because gcc often generates bogus 
                         DWARF info when optimization is turned off. 
                     
                    The HTML version of the change log with lots of helpful hyper-links 
                    can be browsed here: 
                     
                        http://openresty.org/#ChangeLog1002008 
                     
                    OpenResty (aka. ngx_openresty) is a full-fledged web application 
                    server by bundling the standard Nginx core, lots of 3rd-party Nginx 
                    modules and Lua libraries, as well as most of their external 
                    dependencies. See OpenResty's homepage for details: 
                     
                        http://openresty.org/ 
                     
                    We have been running extensive testing on our Amazon EC2 test cluster 
                    and ensure that all the components (including the Nginx core) play 
                    well together. The latest test report can always be found here: 
                     
                        http://qa.openresty.org 
                     
                    Enjoy! 
                    -agentzh 
                     
                    --  
                    --  
                    邮件来自列表“openresty”,专用于技术讨论! 
                    订阅: 请发空白邮件到 openresty+subscribe@googlegroups.com 
                    发言: 请发邮件到 openresty@googlegroups.com 
                    退订: 请发邮件至 openresty+unsubscribe@googlegroups.com 
                    归档: http://groups.google.com/group/openresty 
                    官网: http://openresty.org/ 
                    仓库: https://github.com/agentzh/ngx_openresty 
                    教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html 
                     
                     
                      Hello!
                      
                      On Sat, Apr 27, 2013 at 1:53 AM, wgm.china <wgm....@gmail.com> wrote:
                      > 春哥:
                      > 什么时候才可以推出websocket阿,这个功能可以做更多有趣的应用。
                      >
                      
                      嗯,WebSocket 是眼下社区呼声较高的一个特性,一直在我的 TODO 列表比较靠前的位置上。但我眼下超级忙,所以请耐心等待,或者直接贡献补丁 :)
                      
                      Best regards,
                      -agentzh
                      
                        Write a Reply...