sah*_*thi 37 security ssl web-services websocket node.js
我正在使用node.js的WS websocket库.目前我正在运行ws服务器.现在我想通过使用安全连接来保护这种连接,即通过实现wss协议以及库支持TLS连接.我搜索了一下,发现这个 简单明了:wss和这个wss带有自签名证书.
两者都不是很详细,第二个链接上的文章用自签名证书描述了wss.我想知道的是,只要创建自签名证书并部署到我的生产环境就足够了,还是我需要在创建HTTPS服务器时购买证书?
aex*_*exl 54
如何创建安全(TLS/SSL)Websocket服务器?
我在网上搜索有关如何使websockets在安全连接上工作的指南时发现了你的问题.由于这出现在搜索结果中,我有可能不是唯一一个在此页面上结束的人.为了节省每个人(包括未来的我),这里有.
我有一个简单的node.js websocket服务器,由einaros/ws提供支持,通过不安全的连接监听端口80.不得不将其切换到安全连接.
基本上,您提供的第二个链接几乎涵盖了我需要知道的所有内容.以下是我花了一些时间才弄明白的事情:
我需要这个.pem文件,但我从证书提供者那里得到的只是一个简单的.crt/ .cert文件,我还有一个私有的,.key我在生成初始.csr请求后得到了.所以这里是如何转换(信贷到slf):
openssl rsa -in server.key -text > private.pem
openssl x509 -inform PEM -in server.crt > public.pem
Run Code Online (Sandbox Code Playgroud)我不清楚如何ws使用安全连接.由于我试图将SSL添加到现有应用程序中,因此我希望避免重新执行操作.事实证明,我所要做的就是用对实例{port:80}的引用替换参数https(有关如何初始化它的更多信息,请参阅链接).
var ws = require('ws').Server;
var wss = new ws({
server: httpsServer
});
Run Code Online (Sandbox Code Playgroud)我想知道的是,只要创建自签名证书并部署到我的生产环境就足够了,还是我需要在创建HTTPS服务器时购买证书?
强调我的.是的,我会建议您从受信任的机构购买证书.这将确保您的用户不会收到任何浏览器安全警告,或者只是在不知道出错的情况下离开.
Oha*_*hen 16
要在 NodeJS 中使用安全 Web 套接字,请使用以下代码示例:
const WebSocket = require("ws").Server;
const HttpsServer = require('https').createServer;
const fs = require("fs");
server = HttpsServer({
cert: fs.readFileSync(config.ssl_cert_path),
key: fs.readFileSync(config.ssl_key_path)
})
socket = new WebSocket({
server: server
});
socket.on(...);
server.listen(config.port);
Run Code Online (Sandbox Code Playgroud)
如果您还没有 ssl 证书 - 您可以从Letsencrypt.org免费获取一个
| 归档时间: |
|
| 查看次数: |
34638 次 |
| 最近记录: |