如果您使用 HTTPS,Socket.io 是否安全?
Is Socket.io secure if you use HTTPS?
我正在使用 Node.js、Express 和 Socket.io 实现聊天平台。我现在已经将我的服务器更改为使用 HTTPS 而不是普通的 HTTP。但是,我想知道,这是否也会保护 client/server 在我的套接字之间发出的消息?例如,我所有从套接字发送到套接字的数据现在是否也已加密?
我现在拥有的代码:
const fs = require('fs')
const express = require('express');
const app = express();
const path = require('path');
const server = require('https').createServer({
key: fs.readFileSync('server.key'),
cert: fs.readFileSync('server.cert')
}, app)
const io = require('socket.io')(server);
当我尝试在线搜索此内容时,我读到了相互矛盾的信息,其中很多信息都超过 7 年了。我希望有人可以通过这种方式让我更清楚,因为不幸的是我无法嗅探我的本地主机流量(Windows 用户)。
是的,只要您通过 https 连接并使用有效的证书,从您的代码片段看来,您正在执行的所有通过该套接字传输的消息都将通过标准 https 协议加密。
我正在使用 Node.js、Express 和 Socket.io 实现聊天平台。我现在已经将我的服务器更改为使用 HTTPS 而不是普通的 HTTP。但是,我想知道,这是否也会保护 client/server 在我的套接字之间发出的消息?例如,我所有从套接字发送到套接字的数据现在是否也已加密?
我现在拥有的代码:
const fs = require('fs')
const express = require('express');
const app = express();
const path = require('path');
const server = require('https').createServer({
key: fs.readFileSync('server.key'),
cert: fs.readFileSync('server.cert')
}, app)
const io = require('socket.io')(server);
当我尝试在线搜索此内容时,我读到了相互矛盾的信息,其中很多信息都超过 7 年了。我希望有人可以通过这种方式让我更清楚,因为不幸的是我无法嗅探我的本地主机流量(Windows 用户)。
是的,只要您通过 https 连接并使用有效的证书,从您的代码片段看来,您正在执行的所有通过该套接字传输的消息都将通过标准 https 协议加密。