L'installation de Certificat SSL Sur le Serveur de Noeud

J'ai créé un certificat auto-signé et installé sur un serveur apache ainsi que sur node.js(le port 3000). Sur localhost les deux https://localhost et https://localhost:3000 fonctionne bien.

Alors, j'ai acheté GoDaddy certificat SSL Standard et l'a installé sur le serveur(http://gatherify.com). Maintenant https://gatherify.com fonctionne bien, mais ssl sur le nœud n'est pas de travail.
Lorsque j'accède à https://gatherify.com:3000 - je obtenir "La connexion a été interrompue".

J'ai exécuté curl:

root@host [~]# curl -v -s -k https://gatherify.com:3000
* About to connect() to gatherify.com port 3000 (#0)
*   Trying 108.160.156.123... connected
* Connected to gatherify.com (108.160.156.123) port 3000 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* warning: ignoring value of ssl.verifyhost
* NSS error -5938
* Closing connection #0
* SSL connect error

Des suggestions pour résoudre ce problème?

Mise à JOUR
*CÔTÉ SERVEUR :*

var io = require('socket.io'), 
    connect = require('connect'), 
    fs = require('fs'),

var privateKey = fs.readFileSync('cert/server.key').toString();
var certificate = fs.readFileSync('cert/server.crt').toString();

var options = { 
    key: privateKey,
    cert: certificate
};

var app = connect(options).use(connect.static('../htdocs/node/'));
app.listen(3000);
var server = io.listen(app);

server.sockets.on('connection', function(socket) { 
console.log("Connected");
});

CÔTÉ CLIENT:

<html> <head>

<script type = "text/javascript" src = "https://gatherify.com:3000/socket.io/socket.io.js"></script>

<script type = "text/javascript">

var socket = io.connect('https://gatherify.com:3000', {secure:true}); 

</script>

</head><body></body></html>
  • Le Port 3000 sur l'hôte n'utilise pas SSL, tout à fait normale, HTTP, donc y accéder avec une URL https échouera.
  • avez-vous le key et crt fichiers de certificat?
  • Eh bien, alors comment puis-je résoudre ce problème?
  • Oui, j'ai ces fichiers...
  • votre serveur nodejs travailler avec expressjs?
  • je ne suis pas en utilisant expressjs... j'ai mis à jour la question avec le serveur et côté client code.
  • Comment au sujet de changer pour quelque chose comme var app = require('https').createServer(options)?
  • il n'a fait aucune différence aussi. Encore je obtenir de Connexion a été interrompue
  • Avez-vous supprimer var app = connect(options).use(connect.static('../htdocs/node/')); et de la remplacer par la ligne ci-dessus?
  • //var app = connect(options).utilisation(se connecter.statique('../htdocs/node/')); var app = require('https').createServer(options); app.écouter(3000); var server = io.écouter(app); c'est ce que j'ai fait
  • Je ne peux pas tester moi-même de l'atm, mais jetez un oeil à https://github.com/LearnBoost/socket.io/issues/1011 pour un échantillon.

InformationsquelleAutor Praveen | 2013-03-10