【发布时间】:2013-01-25 21:59:15
【问题描述】:
我创建了自己的 Livechat,它工作正常,但在我尝试添加我的 SSL 证书后,它就不能正常工作了。
我尝试了不同的代码。
var fs = require('fs');
var express = require("express");
var options = {
key: fs.readFileSync('ca.key'),
cert: fs.readFileSync('ca.crt')
};
var expres = express()
, app = require('https').createServer(options, expres)
, io = require('socket.io').listen(app, { });
app.listen(8080);
和
var fs = require('fs');
var express = require("express");
var options = {
key: fs.readFileSync('ca.key'),
cert: fs.readFileSync('ca.csr'),
ca: fs.readFileSync('ca.crt'),
requestCert: true,
rejectUnauthorized: false
};
var expres = express()
, app = require('https').createServer(options, expres)
, io = require('socket.io').listen(app, { });
app.listen(8080);
这三个文件与内容一起存在。 (ca.key、ca.csr 和 ca.crt)
有时我得到一个 107 (ERR_SSL_PROTOCOL_ERROR) 或者有时服务器甚至没有启动。
谢谢,
【问题讨论】:
-
你在 'app = require('https').createServer(options, expres)' 中有错字,它应该是 express 而不是 express
-
我不认为这是问题所在?无论如何,谢谢。
-
您是在尝试验证来自连接客户端的密钥(这是第二个示例将执行的操作),还是仅尝试通过 SSL 托管应用程序本身?
ca.*文件的名称似乎表明您正在做前者...... -
我正在尝试与此“服务器”建立 SSL 连接,客户端将连接到 https://[url]。
-
只是想知道 - 客户端如何连接?你有 {secure: true} 选项吗?
标签: javascript node.js ssl socket.io