HTTPS POST从服务器到rpi-nodejs通过linksys路由器的请求

时间:2017-04-21 22:29:11

标签: node.js raspberry-pi2

我正在尝试连接:Google Home设备 - > API.AI Webhook - > RPi / nodejs但API.AI webhook需要https URL。我试过Hurl.it POST到我的路由器的http url并设置端口转发以使请求达到rpi,我可以看到帖子从运行nodejs的终端进来,它对请求做出了适当的响应。

但是当我将Hurl.it更改为https:// url时,将路由器的端口转发更改为将443个请求路由到相同的rpi地址,并更改用于监听80到443的nodejs app的.env端口。 ..如果我运行POST请求,路由器日志记录https请求,但nodejs应用程序没有响应,它只是继续侦听端口443.这是一个指向app.js的链接:

KylesAppjsCode

我如何弄清楚为什么nodejs服务器应用程序没有收到请求,或者它是否收到请求,那么为什么它没有响应请求呢?

1 个答案:

答案 0 :(得分:2)

app.listen() currently always uses http并且从不https,因此您需要创建自己的自定义https服务器并将app作为请求处理程序传递:

require('https').createServer({ /* https config */ }, app)
                .listen(process.env.PORT, function() {
  console.log('Listening on port ' + process.env.PORT);
});

而不是:

app.listen(process.env.PORT, function() {
  console.log('Listening on port ' + process.env.PORT);
});
相关问题