节点运行HTTPS服务器?

时间:2018-02-23 02:15:22

标签: node.js

我正在编写一个将为特定文件提供服务的程序。但是,我得到了一个例外。我不确定错误,因为我对基于节点的编程有点新意。

我的证书是正确的。

var tls = require('tls');
var fs = require('fs');

var options = {
  key: fs.readFileSync('/home/test/key.pem'),
  cert: fs.readFileSync('/home/test/server.crt')
};

tls.createServer(options, function (s) {


content = fs.readFileSync('/home/test/abc.conf','utf8');
s.write(content);
s.setEncoding('utf8');
s.pipe(s);

}).listen(8000);


node app.js
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: write ECONNRESET
    at exports._errnoException (util.js:1020:11)
    at WriteWrap.afterWrite (net.js:800:14)

1 个答案:

答案 0 :(得分:0)

意识到,只使用https.createServer很容易,并提供密码选项。

var ciphers = [
    'AES128-SHA',
    'AES256-SHA'
].join(':');



var options = {
    key: fs.readFileSync('./key.pem'),
    cert: fs.readFileSync('./cert.pem'),
    ciphers: ciphers

};

https.createServer(options, function(req, res) {

console.log("Running node now"); 

}).listen(443);

由于我使用的是443 https标准端口,我需要以管理员权限启动此节点应用,即sudo。