Node.js HTTPS安全错误 [英] Node.js HTTPS Secure Error
本文介绍了Node.js HTTPS安全错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试创建一个安全的node.js服务器,用于使用ssl(https)的网站。
I am trying to create a secure node.js server to use with my site that is using ssl (https).
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);
但是当我启动服务器时,我收到以下错误:
But when I start my server, I get the following 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)
我的服务器运行良好,没有 server.setSecure(凭证);
行。我正在运行node.js(V0.4.1)。
My server works great without the server.setSecure(credentials);
line. I am running node.js(V0.4.1).
我将不胜感激任何建议。
I would appreciate any suggestions.
谢谢。
推荐答案
HTTPS实现在Node.JS 0.4中重新完成。请参阅 nodejs.org 上的相应文档。
HTTPS implementation was re-done in Node.JS 0.4. See the corresponding docs at nodejs.org.
来自文档的示例:
var tls = require('tls');
var fs = require('fs');
var options = {
key: fs.readFileSync('server-key.pem'),
cert: fs.readFileSync('server-cert.pem')
};
tls.createServer(options, function (s) {
s.write("welcome!\n");
s.pipe(s);
}).listen(8000);
这篇关于Node.js HTTPS安全错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文