Socket.io没有在https cloudflare上工作

时间:2017-11-20 11:14:00

标签: javascript node.js https socket.io cloudflare

我是nodejs / socket.io的新手,我现在已经迷失了2天。我有一个生产应用程序在http上运行正常。我正在尝试将其配置为在https免费cloudflare上运行,但没有成功。这是我的代码:

serve.js

const https = require('https');
const fs = require('fs');
const app = require('express');
const options = {
//(free CloudFlare certifies are instaleld on cPanel)
    cert: fs.readFileSync('/etc/ssl/certs/hostnane.example.com.crt'),
    key: fs.readFileSync('/etc/ssl/private/hostnane.example.com.key'),
    requestCert: true,
};
const server = https.createServer(options, app);
const io = require('socket.io').listen(server);
const { name = 'default', port = '8443'} = args;
app.use(express.static(path.join(__dirname, '/')));

//socket.io stuff

server.listen(+port, 'xx.xxx.xx.xxx', (err) => {
   if (err) {
   console.log(err.stack);
   return;
}
console.log(`Node [${name}] listens on //127.0.0.1:${port}.`);
});

app.js

var socket = io.connect({ query: 'userid='+userOnline});

的index.php

<script src='/socket.io/socket.io.js'></script>

脚本链接正在加载网站的主页。我已尝试xx.xxx.xx.xxx:8443https://xx.xxx.xx.xxx:8443无法加载。 如果我尝试https://www.example.com:8443,我可以访问我的index.html应用程序页面,我想这表明Node / Express正在运行。

任何人都可以帮我解决这个问题吗?

0 个答案:

没有答案