[英]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.