在express.js中,req.protocol没有选择“ https”作为我的安全链接。它总是图片“ http”

Sre*_*P M 3 node.js express

req.protocol没有选择“ https”作为我的安全链接。它总是图片“ http”。为了创建我的baseURL,正在使用它。有什么解决办法吗?

Mar*_*aer 6

这很可能是因为两者之间存在代理。就我而言,我正在使用Heroku。

在这种情况下,您需要添加app.enable('trust proxy');到快速应用中。

在未启用的情况下,req.protocol返回http。经过那次改变,我得到了https

您还可以使用req.secure获取truefalse取决于您的应用是否受https保护。

  • 启用“信任代理”设置是否有任何危险?这正是我需要的解决方案,但我想更多地了解此设置可能启用的功能。 (2认同)