我有棘轮webSocket服务器运行,它运行良好。 问题是握手后一些连接正在关闭。
搜索stackOverflow和google之后我发现我应该使用wss,因为使用ssl会阻止连接被关闭。经过一些阅读之后,我发现wss还没有在棘轮中实现,而且解决方案是使用stunnel扭曲棘轮。我再次搜索了如何实现这一点的帮助,但发现了非。
如何用stunnel扭曲棘轮?有没有更好的方法来解决这个问题? 我真的是新手所有的问题。
谢谢!
答案 0 :(得分:5)
设置棘轮腹架以仅接受本地连接:
$webSock = new Server($loop);
$webSock->listen(8080, '127.0.0.1'); // local connections only
$session = $this->getContainer()->get('session.provider');
$server = new IoServer(new WsServer($session), $webSock, $loop);
生成服务器证书。对于ubuntu here的好的说明。
现在安装stunnel。 Ubuntu说明here。
配置stunnel以使用新证书并接受安全端口上的连接并将它们隧道连接到websocket服务器:
cert = /etc/ssl/certs/server.crt
key = /etc/ssl/private/server.key
...
[websockets]
accept = 8443
connect = 8080
启动stunnel,你应该参加比赛。