node.js - 使用SSL的Socket.io导致404()错误

标签 node.js ssl socket.io

我最近在网站上启用了SSL,该网站的Node.js脚本正在使用Socket.io。我尝试将Socket.io设置为在HTTPS上运行,但是在Chrome控制台中,当尝试从套接字获取数据时,它始终报告404()GET错误

客户端代码:

    var io = io.connect('https://domain.com:443');


服务器端

    var connections=0;
    var fs = require('fs');
   var https = require('https');
   var express = require('express');
var app = express();
var options = {
key: fs.readFileSync('./file.pem'),
cert: fs.readFileSync('./file.crt')
};
var serverPort = 443;
var server = https.createServer(options, app);
var io = require('socket.io')(server);
io.on('connection', function(socket){
connections=connections+1;
myconsolelog('[socket] a user connected. total connections: '+connections);


socket.emit('handshake',1);
socket.emit('online',connections);
request(steamstatusurl+'?pw='+accesspassword, function(error, response, body) {
    //myconsolelog('steamstatus: '+body);
    io.emit('steamstatus',body);
});
request(contentcreatorsurl+'?pw='+accesspassword, function(error, response, body) {
    //myconsolelog('steamstatus: '+body);
    io.emit('cc',body);
});
socket.on('disconnect', function(){
    connections=connections-1;
 myconsolelog('[socket] user disconnected total connections: '+connections);
    socket.emit('online',connections);

});

 });
server.listen(serverPort, function() {
console.log('server up and running at %s port', serverPort);
 });

最佳答案

经过数小时的努力,我发现cloudflare正在拦截套接字并阻止数据通过来,我制作了一个带有灰色云的子域,现在可以正常工作

关于node.js - 使用SSL的Socket.io导致404()错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36120209/

相关文章:

node.js - 为 Cordova 插件安装 Node 依赖项

mysql - 在 mariadb 上启用 SSL

javascript - 使用socket.io加入房间后如何获得其他用户的响应

node.js - Redis 测试在通过后不退出(使用 Jest )

node.js - 从我的nodejs服务器调用google apps脚本

javascript - 是pjscrape慢还是PhantomJS慢?替代刮刀?

security - AWS,特别是负载均衡器服务是否受 SSL "Heart Bleed"漏洞影响?

jquery - 对不受信任(自签名)HTTPS 的 AJAX 调用静默失败

javascript - 如何通过socket.io发送JSON

Laravel 使用 Socket.io 广播到私有(private) channel