Websocket proxying based on Sec-Websocket-Protocol

Hi guys,

I am trying to find if it is possible to proxy a websocket request based
on
the Sec-Websocket-Protocol. More specific, is there a way to check the
Sec-Websocket-Protocol
(http://tools.ietf.org/html/rfc6455#section-11.3.4)
header and proxy to the appropriate host/port according to this header?

A use case would be to proxy to a SIP Connector -SIP Websocket
connector-
(specific host and port) when the Sec-Websocket-Protocol = sip.
(http://tools.ietf.org/html/draft-ietf-sipcore-sip-websocket-03)

I checked documentation and forums, but i cannot find any information
relevant to this issue. As far as i can see the Sec-Websocket-Protocol
header is not available to be used in the nginx, just the “Upgrade:
websocket” header.

Regards
George

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,237539,237539#msg-237539

Hello!

On Tue, Mar 19, 2013 at 06:32:04AM -0400, gvag wrote:

I checked documentation and forums, but i cannot find any information
relevant to this issue. As far as i can see the Sec-Websocket-Protocol
header is not available to be used in the nginx, just the “Upgrade:
websocket” header.

You may check Sec-Websocket-Protocol using
$http_sec_websocket_protocol variable (see [1]) and route requests
accordingly. This isn’t specific to websockets and hence not
something discussed in websockets context.

[1] http://nginx.org/en/docs/http/ngx_http_core_module.html#variables


Maxim D.
http://nginx.org/en/donation.html

Thanks a lot for the answer.

George

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,237539,237559#msg-237559