簡體   English   中英

如何在 socket.io 上獲取 https

[英]How to get https on socket.io

目前我使用

let connectTo = "http://myip:myport";
var socket = io.connect(connectTo, {secure: true});

在客戶端,和

const port = myport;
const io = require('socket.io')(port);

在服務器端,我想使用https://而不是http:// ,我該怎么做? 我也聽說我需要證書的東西,我怎么得到它? 以及如何設置? 導致愚蠢的反病毒認為 socket.io 是“危險的”,當它不是..(客戶端在我的電子應用程序上)

您創建自己的 https 服務器(使用適當的證書),然后將 socket.io 綁定到該服務器。 每個 socket.io 連接都以 http(s) 請求開始,所以這就是您需要那種服務器的原因。

const https = require('https');

const options = {
  key: fs.readFileSync('somePath/agent2-key.pem'),
  cert: fs.readFileSync('somePath/agent2-cert.pem')
};
const server = https.createServer(options);
const io = require('socket.io')(server);
server.listen(443);

我也聽說我需要一個認證的東西,我如何得到它?

有很多很多的來源。 您可以從這里開始: https : //letsencrypt.org/ 您必須將證書綁定到特定域,因為這是它提供的安全性的一部分。


然后,在客戶端中,您將使用https URL 進行連接,例如:

const socket = io('https://example.com');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM