如何配置seneca-web使用HTTPS / SSL?

我正在使用Seneca编写Node.JS微服务,并且试图将其设置为使用https。我已经研究过使用seneca-transport选项,但是当我尝试使用Postman或浏览器连接到它时,它不起作用。

这是一个有效的示例,监听端口4000,没有https或ssl:

var seneca = Seneca()
seneca.use(Plugin,{ secretOrKey: opts.secretOrKey })
seneca.use(Web,config)
seneca.ready(() => {
    var server = seneca.export('web/context')()

    server.listen('4000',(err) => {
        console.log(err || 'server started on: 4000')
    })
})

这是尝试在seneca-web-express配置中使用seneca-transport选项。它不起作用。

var seneca = Seneca()
seneca.use(Plugin,config)
seneca.ready(() => {
    var server = seneca.export('web/context')()

    server.listen({
      type: 'http',port: '443',host: 'foo-host',protocol: 'https',serverOptions: {
          key: fs.readFileSync('./ssl/foo-host.key.pem'),cert: fs.readFileSync('./ssl/foo-host.cert.pem'),}
    },(err) => {
        console.log(err || 'server started on: 443')
    })
})

最后,这是尝试更直接地使用seneca-transport。该端口至少侦听端口443,但未加密或不安全:

Seneca()
    .use(Plugin,{ secretOrKey: opts.secretOrKey })
    .use(Web,config)
    .listen({
        type: 'http',serverOptions: {
            key: fs.readFileSync('./ssl/foo-host.key.pem'),cert: fs.readFileSync('./ssl/foo-host.cert.pem')
        }
    })

希望这足以使人们看到问题的代码。共享整个微服务实际上是不可能的。

a4870126sdo 回答:如何配置seneca-web使用HTTPS / SSL?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3148823.html

大家都在问