Should I use nginx as a proxy for WAMP?

1.6k views Asked by At

guys!

I build a chat application based on WebSocket. As backend I use PHP and nginx as a proxy for WebSocket connection.

Searching about PHP libs for WS gave me Ratchet. This tools support WAMP protocol. Something about it: http://wamp-proto.org/why/

Well, I've decided to use this protocol - it seems useful. I tuned nginx for proxy WebSocket connections in standard way. And for common using WebSocket at frontend/backend - all is ok.

But, if I start use WAMP at backend and try to use autobahn.js for WAMP at frontend, I catch 426 No Sec-WebSocket-Protocols requested supported as response every time. At PHP I see that connection from nginx is not receiving. So, as I understood, nginx doesn't process connection with WAMP subprotocol in right way.

So, I don't understand, should I use nginx as a proxy for WAMP? WAMP is just a subprotocol for WebSocket, but doesn't work for me.

Does anybody knows where problem is?

1

There are 1 answers

1
oberstet On

Seems like Nginx isn't forwarding the WebSocket subprotocol announced by the client to the backend WAMP router.

Try adding this to your Nginx conf:

proxy_set_header Sec-WebSocket-Protocol $http_sec_websocket_protocol

See: https://stackoverflow.com/a/36506746/884770