簡體   English   中英

無法連接到安全 socket.io 服務器:ERR_SSL_PROTOCOL_ERROR

[英]Cannot connect to secure socket.io server : ERR_SSL_PROTOCOL_ERROR

我正在嘗試將socket.io與現有應用程序一起使用。 我的應用程序在https://somedomain.com上運行。 它使用此代碼連接到套接字 io 服務器:

 var socket = io('https://localhost:3456/');
  socket.on('connect', function () {
    socket.send('hi');

    socket.on('message', function (msg) {
      // my msg
    });
  });

我的 socket.io 服務器有這個代碼來監聽傳入的連接:

var io = require('socket.io').listen(3456);

io.sockets.on('connection', function(socket) {
    console.log("dupa");
    socket.on('message', function() {});
    socket.on('disconnect', function() {});
});

dupa 永遠不會顯示在服務器端和 Chrome 瀏覽器控制台中,我收到:

GET https://localhost:3456/socket.io/?EIO=3&transport=polling&t=1412901063154-0 net::ERR_SSL_PROTOCOL_ERROR 

我怎樣才能讓這可能工作?

將 https 更改為 http

var socket = io.connect("http://localhost:4000");

您的套接字服務器未使用 SSL。

首先,將安全參數添加到您的客戶端(可能與 https 是多余的,但 SSL+socket.io 有時會做一些奇怪的事情):

var socket = io.connect('https://localhost', {secure: true});

然后,您還需要確保您的套接字是安全的:

var privateKey = fs.readFileSync('YOUR SSL KEY').toString();
var certificate = fs.readFileSync('YOUR SSL CRT').toString();
var ca = fs.readFileSync('YOUR SSL CA').toString();

var io = require('socket.io').listen(3456,{key:privateKey,cert:certificate,ca:ca});

暫無
暫無

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

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