我在使用套接字的单独盒子上有2个node.js实例。IO通信。虽然它们位于防火墙后面的同一个网络上,但我希望它们使用SSL加密进行通信。
下面的代码可以正常运行:
Server1:
require("socket.io").listen(9000);
Server2:
require("socket.io-client").connect("wss://10.0.0.1:9000");
虽然我没有提供任何密钥对,那么这里发生了什么?是否仅通过指定wss:就建立了安全通道?如果有,怎么做,没有钥匙吗?
顺便说一下,这不起作用…
require("socket.io-client").connect("https://10.0.0.1:9000");
(虽然http: does)
添加wss不会使连接使用ssl。
在客户端,有两种方法来指定ssl连接:
- 使用https
require("socket.io-client").connect("https://10.0.0.1:9000");
- 使用secure:true选项
require("socket.io-client").connect("10.0.0.1:9000",{secure: true});
或者你可以两者都做,以确保:
require("socket.io-client").connect("https://10.0.0.1:9000",{secure: true});