我正在尝试为Express.js创建一个中间件,以将所有非安全(端口80)通信重定向到安全SSL端口(443)。不幸的是,Express.js请求中没有任何信息可让您确定该请求是否来自http或https。
一种解决方案是重定向 每个 请求,但这不是我的选择。
笔记:
没有可能用Apache或其他东西来处理它。它 必须 在节点中完成。
应用程序中只能启动 一台 服务器。
您将如何解决?
由于我正在使用nginx,因此可以访问标头的x-forwarded- proto属性,因此我可以编写一个微型中间件来重定向所有流量,如下所述:http : //elias.kg/post/14971446990/force-ssl- 在Heroku-nginx上使用Express-JS
编辑:更新了网址