我在 nodejs 中有一个自签名证书。当我添加了证书密钥并尝试运行它时,节点给出了如下所示的错误
Posted
技术标签:
【中文标题】我在 nodejs 中有一个自签名证书。当我添加了证书密钥并尝试运行它时,节点给出了如下所示的错误【英文标题】:I have a self signed certificate in nodejs. When I have added the certificate key and when i try to run it the node is giving the error shown below 【发布时间】:2014-11-09 15:40:18 【问题描述】:var express = require('express')
//Required for cluster
,
cluster = require('cluster')
//Required for countting the cpu cores
,
numCPUs = require('os').cpus().length,
socketio = require('socket.io'),
routes = require('./routes'),
user = require('./routes/user'),
https = require('https'),
connect = require('connect'),
fs = require('fs'),
app = connect(),
sslOptions, server, port = 1111,
path = require('path');
var app = module.exports = express.createServer();
app.use(form(
keepExtensions: true
));
sslOptions =
key: fs.readFileSync('./ssl/server.key'),
cert: fs.readFileSync('./ssl/server.crt')
;
if (cluster.isMaster)
for (var i = 1; i < numCPUs; ++i)
console.log('hi');
cluster.fork();
cluster.on('online', function(worker)
console.log("The Master is forked");
);
cluster.on('exit', function(worker, code, signal)
logger.log('worker ' + worker.process.pid + ' died');
);
else
var app = express();
var server = require('https').createServer(app);
// all environments
// app.set('port', process.env.PORT || 1111);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env'))
app.use(express.errorHandler());
app.get('/', routes.index);
app.get('/users', user.list);
server = https.createServer(sslOptions, app).listen(port, function()
console.log('Listening on https://' + server.address().address + ':' + server.address().port);
);
我得到的错误是
警告:express.createServer() 已弃用,express 应用程序不再从 http.Server 继承, 请用: var express = require("express"); var app = express(); /home/lilac/revanth/app.js:25 app.use(form( keepExtensions: true )); ^ ReferenceError:未定义表单 在对象。 (/home/lilac/revanth/app.js:25:9) 在 Module._compile (module.js:456:26) 在 Object.Module._extensions..js (module.js:474:10) 在 Module.load (module.js:356:32) 在 Function.Module._load (module.js:312:12) 在 Function.Module.runMain (module.js:497:10) 启动时 (node.js:119:16) 在 node.js:906:3【问题讨论】:
【参考方案1】:您没有在任何地方定义变量 form
。
您还应该将express.createServer()
替换为express()
【讨论】:
我已经替换了它并且它没有给出任何错误,而是代码没有进一步移动。 [lilac@LILAC revanth]$ node app.js Master is fork hi info - socket.io 启动 Express 服务器监听 1111 端口 “代码没有进一步移动”是什么意思?您还没有编写任何其他发生的代码。正如您设置的那样,该进程仍应处于打开状态并侦听端口 1111 上的请求。以上是关于我在 nodejs 中有一个自签名证书。当我添加了证书密钥并尝试运行它时,节点给出了如下所示的错误的主要内容,如果未能解决你的问题,请参考以下文章
NodeJS Mongoose抛出一个错误。"证书链中的自签名证书"