强制将heroku / angular应用程序重定向到HTTPS版本

时间:2018-03-13 09:11:17

标签: javascript node.js angular heroku

我有一个角色5应用程序,托管在heroku上。目前,用户可以访问该应用程序的HTTP版本。

如果用户访问HTTP,我怎样强制用户重定向到HTTPS版本?

我尝试了什么:

app.use(function (req, res, next) {
let sslUrl;

if (process.env.NODE_ENV === 'production' &&
    req.headers['x-forwarded-proto'] !== 'https') {

    sslUrl = ['https://myapp.herokuapp.com', req.url].join('');
    return res.redirect(sslUrl);
}

return next();
});

我已将上述代码放在我的node.js服务器中,但它没有用。

用户无法通过HTTP使用该应用,因为他们获得了403错误

1 个答案:

答案 0 :(得分:2)

我在https://github.com/rangle/force-ssl-heroku使用了“force-ssl-heroku”软件包,效果很好,非常容易集成。

只需要在开始入口点脚本中输入:

var forceSsl = require('force-ssl-heroku');

并使用它:

app.use(forceSsl);

部署并享受。