Saya mencoba menjalankan socket.io dengan sertifikat SSL saya, namun itu tidak akan terhubung.
Saya mendasarkan kode saya pada contoh obrolan:
var https = require('https');
var fs = require('fs');
/**
* Bootstrap app.
*/
var sys = require('sys')
require.paths.unshift(__dirname + '/../../lib/');
/**
* Module dependencies.
*/
var express = require('express')
, stylus = require('stylus')
, nib = require('nib')
, sio = require('socket.io');
/**
* App.
*/
var privateKey = fs.readFileSync('../key').toString();
var certificate = fs.readFileSync('../crt').toString();
var ca = fs.readFileSync('../intermediate.crt').toString();
var app = express.createServer({key:privateKey,cert:certificate,ca:ca });
/**
* App configuration.
*/
...
/**
* App routes.
*/
app.get('/', function (req, res) {
res.render('index', { layout: false });
});
/**
* App listen.
*/
app.listen(443, function () {
var addr = app.address();
console.log(' app listening on http://' + addr.address + ':' + addr.port);
});
/**
* Socket.IO server (single process only)
*/
var io = sio.listen(app,{key:privateKey,cert:certificate,ca:ca});
...
Jika saya menghapus kode SSL itu berjalan dengan baik, namun dengan itu saya mendapatkan permintaan untuk http://domain.com/socket.io/1/?t=1309967919512
Perhatikan itu tidak mencoba https, yang menyebabkannya gagal.
Saya menguji pada chrome, karena itu adalah browser target untuk aplikasi ini.
Saya minta maaf jika ini adalah pertanyaan sederhana, saya seorang pemula node / socket.io.
Terima kasih!