node.js - greenlock-express : TypeError: greenlock. app 不是函数

标签 node.js express ssl https greenlock

我正在尝试使用此示例使用 greenlock-express 运行我的 Express.js:

https://git.coolaj86.com/coolaj86/greenlock-express.js/src/branch/master/examples/production.js

但是我收到了这些错误:

[:80] Handling ACME challenges and redirecting to http2 (spdy/h2)
[:443] Serving http2 (spdy/h2)

[error] [greenlock.app] Your HTTP handler had an uncaught error:

TypeError: greenlock.app is not a function
    at //node_modules/greenlock-express/index.js:64:23

有谁知道示例失败的原因以及我应该如何修复它?

最佳答案

我是 greenlock 的作者,您的问题是以下两件事之一:

app 必须是一个函数

在您的 greenlock 配置中,您需要将 app 定义为 function (req, res) { ... }

例如:

greenlock.create({
  ...
, app: function (req, res) {
    require('./my-express-app.js')(req, res);
  }
})

必须导出express app

var app = express();
...
module.exports = app;

观看(并关注)视频

如果您逐字执行此操作,您将拥有一个有效的配置,您将能够从那里更改它:

https://www.youtube.com/watch?v=e8vaR4CEZ5s&list=PLZaEVINf2Bq_lrS-OOzTUJB4q3HxarlXk

错误信息

我试图使错误信息非常清楚:

TypeError: greenlock.app is not a function
    at //node_modules/greenlock-express/index.js:64:23

当然,这对我来说很有意义,但显然对您来说不是 - 否则我们现在不会在这里。 :)

关于如何让它变得更好,您有什么建议吗?

关于node.js - greenlock-express : TypeError: greenlock. app 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51931647/

相关文章:

node.js - 为两个 Node 应用程序配置 nginx,一个在子域上

javascript - 如何访问 node.js 解析器代码?

javascript - Express 4 奇怪的动态中间件行为

node.js - 防止错误出现在 node.js 中的用户面前

javascript - NodeJS - 如何从 blob 下载?

node.js - NodeJS Expres + RedisStore ,请求 session 始终未定义

apache - Meteor DDP SSL/Apache 代理连接

node.js - Sequelize 类型错误 : Cannot read property 'push' of undefined

apache - 是否可以在 Apache 2 的虚拟主机上拥有多个 key /证书?

google-app-engine - 如何在GAE上设置中间证书?