Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如果使用HTTPS,Socket.io是否安全?_Node.js_Express_Ssl_Socket.io_Tls1.2 - Fatal编程技术网

Node.js 如果使用HTTPS,Socket.io是否安全?

Node.js 如果使用HTTPS,Socket.io是否安全?,node.js,express,ssl,socket.io,tls1.2,Node.js,Express,Ssl,Socket.io,Tls1.2,我正在使用Node.js、Express和Socket.io实现一个聊天平台。我现在已经将我的服务器改为使用HTTPS而不是普通的HTTP。但是,我想知道,这是否也保护客户端/服务器在套接字之间发送的消息?例如,我从一个套接字发送到另一个套接字的所有数据现在也加密了吗 我现在的代码: const fs = require('fs') const express = require('express'); const app = express(); const path = req

我正在使用Node.js、Express和Socket.io实现一个聊天平台。我现在已经将我的服务器改为使用HTTPS而不是普通的HTTP。但是,我想知道,这是否也保护客户端/服务器在套接字之间发送的消息?例如,我从一个套接字发送到另一个套接字的所有数据现在也加密了吗

我现在的代码:

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协议进行加密。

安全吗?这是一个非常广泛的问题,可能包括很多事情,比如身份验证、服务器安装的安全性、https密钥的保护等等。。。。通信通道本身是加密的,因此中间人侦听器对它是安全的(假设您的https服务器已正确部署)。当您将socket.io连接到https服务器时,socket.io连接上的所有通信都通过TLS加密(使用公钥/私钥加密)进行加密,与常规https通信的方式相同。