我正在尝试使用此示例通过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


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

您对我如何做得更好有任何建议?

09-18 05:14