我希望托管一些基于 websocket 的应用程序,这些应用程序只能通过 https 页面访问。因此,服务器生成带有随机密钥的 https 页面。我想使用此密钥来防止外部人员间接访问 websocket。
我可以让每个 web socket 客户端将密钥发送到 websocket 服务器,如果密钥不匹配,则关闭连接。但是,我希望自己更新 websocket 以传递密钥,如果密钥不匹配,则自动拒绝连接。(这样,如果引入了新的应用程序,就不会忘记实施检查)。
我环顾四周,并没有找到关于 websockets 如何工作的深入文档。
wss 连接的初始握手是否以明文形式发送(如果我将密钥附加到这些数据包,中间人可以拦截它们吗?)。如果没有,是否有一种标准方法可以在连接上发送此类元数据,还是我应该破解 websocket 源文件?
我在服务器端使用 libwebsockets,在客户端使用 jquery.websockets。