【发布时间】:2017-07-23 12:29:48
【问题描述】:
我对 node.js、socket.io 和我实施的新 SSL 证书有疑问。已经在stackoverflow上尝试了很多解决方案,但我无法让它工作。很想为我的情况提供一些定制的帮助,并希望能帮助其他人。
没有 SSL 的情况是这样的:
在我的 node.js 脚本上
var app = require('http').createServer();
var io = require('socket.io')(app);
app.listen(8080);
在我的 html 页面中
var socket = io('http://mywebsite.com:8080');
这工作正常,但是当我将 SSL 证书混入其中时,它会出错。我尝试了以下一些解决方案:
var https = require('https'),
fs = require('fs');
var options = {
key: fs.readFileSync('/server.key'),
cert: fs.readFileSync('/server.crt')
};
var app = https.createServer(options);
var io = require('socket.io').listen(app);
app.listen(8080);
var io = io('https://mywebsite.com', { secure: true });
欢迎提出任何建议!
【问题讨论】:
-
尝试了 Wilson 和 emonik 的解决方案。两者都没有给我联系:(
-
尝试侦听端口 443。同时在连接中使用完整 URL,因为您的证书适用于您的完整域。您可能需要使用 sudo 来测试连接。我建议您使用像 nginx 这样的反向代理来处理您的安全连接,并在 nginx 上将其重新路由到端口 8080 上的应用程序。
-
@Riddell 你能解决这个问题吗?
标签: javascript node.js ssl socket.io