Estoy intentando crear un servidor node.js seguro para usar con mi sitio que usa ssl (https).Error seguro HTTPS de Node.js
const crypto = require('crypto'),
fs = require("fs"),
http = require("http");
var privateKey = fs.readFileSync('/home/privatekey.pem');
var certificate = fs.readFileSync('/home/certificate.pem');
var credentials = crypto.createCredentials({key: privateKey.toString(), cert: certificate.toString()});
var handler = function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
};
var server = http.createServer();
server.setSecure(credentials);
server.addListener("request", handler);
server.listen(8084);
Pero cuando comienzo mi servidor, me sale el siguiente error:
node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Object #<Server> has no method 'setSecure'
at Object.<anonymous> (/home/meshdev/public_html/js/node/server/test.js:16:8)
at Module._compile (module.js:380:26)
at Object..js (module.js:386:10)
at Module.load (module.js:312:31)
at Function._load (module.js:273:12)
at Array.<anonymous> (module.js:399:10)
at EventEmitter._tickCallback (node.js:108:26)
Mi servidor funciona muy bien sin la línea server.setSecure(credentials);
. Estoy ejecutando node.js (V0.4.1).
Agradecería cualquier sugerencia.
Gracias.
@schaermu - Gracias por la respuesta. Ha impedido que mi servidor de nodos devuelva errores al inicio, pero ahora estoy obteniendo este error cuando conecto el lado del cliente: http://pastebin.com/ECf1fxLB ¿Alguna idea? – Kit
¿podría publicar el contenido de 's.authorizationError'? Debería haber un mejor mensaje de error cuando falla un handshake tls (según los documentos). – schaermu
Lo siento. Mi error. Estoy usando este código para el servidor: http://pastebin.com/FHmVpPS9. Y este código para la conexión del lado del cliente: http://pastebin.com/xxcL7Rqv. El servidor de nodo ya no tiene errores, pero el lado del cliente no se puede conectar. – Kit