Would like to implement WebSocket support
savages at mozapps.com
Thu Feb 2 14:34:57 UTC 2012
I have been looking for websockets support. I have written a server
push back end for nginx using the "keep-alive" module. I have one
persistent connection for the server push. this connection is an async
client control. then each new "command/request" from the client is a new
http connection. I use fcgi, because fcgi also requires a "length" a
single connection is not possible.
websockets would make make my life easier( and faster). with websockets
support nginx would become the defacto standard for web applications.
because of client/browser security using another port for websockets is
I am not a nginx expert but I assume that the buffering the full request
is a performance issue.
i hope to hear more about websockets
On 02/01/2012 07:54 PM, André Caron wrote:
> Hi all!
> I've implemented the WebSocket wire protocol as an incremental parser, making it
> suitable for use in high-end asynchronous servers such as NGINX. The code is
> open source (BSD-licenced) and available on GitHub. I plan on using it to
> tunnel other protocols (svn and git, in particular) over HTTP. I have a nice
> setup that works well on the client side, but I'd like to integrate this with my
> existing NGINX stack with includes virtual hosting and a bunch of other stuff (I
> can't use another server directly unless I use a non-default port).
> To the best of my understanding, NGINX has no support for WebSockets. The HTTP
> proxy module does not support HTTP 1.1 and WebSockets are incompatible with both
> SCGI and FastCGI because of the "Content-Length" problem (it is assumed to be 0
> if unspecified).
> I'd like to implement an NGINX module that specifically handles WebSockets so
> that I can integrate my tunnel in my NGINX setup. I have absolutely no
> experience with the NGINX source code, but I've found a nice guide on writing
> NGINX modules. After initial reading, I understand that I need to write an
> Upstream (proxy) handler. Is this correct?
> The HTTP proxy module has a scary note that says:
>> Note that when using the HTTP Proxy Module (or even when using FastCGI), the
> entire client request will be buffered in nginx before being passed on to the
> backend proxied servers.
> Is this a limitation cause by NGINX's architecture, or is this by design
> (e.g. for validation of body against headers, etc.)?
> The bigger problem, however, is that there is no standard interface to
> application servers for this new WebSocket protocol. There is some
> discussion on an Apache enhancement request that basically proposes a
> modification of CGI. Since CGI has already been demonstrated to be a
> performance problem, I'm looking for an alternate solution, maybe something
> closer to SCGI? Anyone have suggestions?
> Thanks, André
> : https://github.com/AndreLouisCaron/cwebs
> : http://www.evanmiller.org/nginx-modules-guide.html :
> nginx mailing list
> nginx at nginx.org
More information about the nginx