[rabbitmq-discuss] RabbitMQ's WebSocket broken

Petri Luojus luojus at gmail.com
Fri Oct 11 07:58:11 BST 2013


We're using RabbitMQ in our messaging with several AMQP and STOMP over 
WebSocket clients. STOMP clients are using JavaScript and stomp.js 
(http://jmesnil.net/stomp-websocket/doc/) in browsers. However, recent 
stable release for Chrome fixed the following issue: 
http://code.google.com/p/chromium/issues/detail?id=259666. This in turn 
broke all Chromium-based clients, and since the WebSocket specification 
(http://dev.w3.org/html5/websockets/) reports "The connection will only be 
established if the server reports that it has selected one of these 
subprotocols." it is expected that this fix will be pushed to other 
browsers too.

Following messages are changed between client and RabbitMQ, after which 
Chrome reports "Error during WebSocket handshake: Sec-WebSocket-Protocol 
mismatch". As can be seen from the response, RabbitMQ does not confirm the 
selected protocol.

GET /stomp/websocket HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: xxx.yyy:15674
Origin: null
Sec-WebSocket-Protocol: v10.stomp, v11.stomp
Pragma: no-cache
Cache-Control: no-cache
Sec-WebSocket-Key: YRpCwsRP6s2ounZHK4soEQ==
Sec-WebSocket-Version: 13
Sec-WebSocket-Extensions: x-webkit-deflate-frame
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, 
like Gecko) Chrome/30.0.1599.69 Safari/537.36
Cookie: auth=bHVvanVzOk15aGthbGU1; 

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Sec-Websocket-Accept: DGeZKxS98lD43p+4Gkhb17W29E0=
Connection: Upgrade

RabbitMQ is installed on CentOS 6.4 with the following versions for the 
server and Erlang
rabbitmq-server.noarch 3.1.5-1.el6 @epel
erlang.x86_64 R14B-04.2.el6 @epel

Could you guys look into this issue?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20131010/9f88a629/attachment.htm>

More information about the rabbitmq-discuss mailing list