所以我想用Express + Socket.IO來使用NodeJS。NodeJS + Express + Socket.IO + SSL
我已經看了約5其他堆棧溢出的問題,看着文檔移交給點我的眼睛覺得他們要流血!
我已經得到了由以下工作:
var fs = require('fs'),
privateKey = fs.readFileSync('/path/to/private.key').toString(),
certificate = fs.readFileSync('/path/to/certificate.crt').toString();
var options = {
key: privateKey,
cert: certificate
};
var express = require('express'),
app = express(express.logger()),
https = require('https'),
server = https.createServer(options, app),
io = require('socket.io').listen(server),
routes = require('./routes');
app.configure(function() {
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
server.listen(5050, function() {
console.log("Server a-hoy!");
});
app.get('/', routes.index);
io.sockets.on('connection', function (socket) {
socket.on('givemeresults', function (data) {
io.sockets.emit('results', { some: 'data' });
});
});
除事實,當我運行此:
curl https://test.something.net:5050
我得到以下(不想要的)結果
curl: (35) Unknown SSL protocol error in connection to test.something.net:5050
這樣做的整點,所以我們可以在我們的現實網頁提供了信息的背景使用Socket.io離開回到用戶。
它的工作原理,當我使用普通的HTTP。證書也是正確的。
你能看到任何可能的原因這個失敗?
我不得不刪除現有的SSL證書的位置,和域名,出於安全原因。
編輯:
當運行:
[[email protected] exampleapp]# node app.js
info - socket.io started
Server a-hoy!
希望我遇到過這個!我正在使用Nginx,它正在工作(我認爲)。下一個問題對我來說是如何使用羣集和socket.io(嗚嗚嗚嗚嗚!) – 2013-06-10 10:51:17