快速res.redirect到https已损坏

时间:2018-03-15 01:16:53

标签: angular express https

我已经阅读了不少有相同标题的帖子。我已经尝试了给出的建议,没有工作

我想在生产中自动重定向 - 如果它没有安全保障。 这是一个angular2 app,服务器api。

这是express app.js

中的第一个中间件
// HTTPS
app.use (function (req, res, next) { 
    if ( req.secure || req.headers.host === 'localhost:3002' ) {
        next();
    } else { 
        res.redirect('https://' + req.headers.host + req.url);
    }
});

我从FF获得的信息是

The page isn’t redirecting properly

Firefox has detected that the server is redirecting the request for this address in a way that will never complete.

This problem can sometimes be caused by disabling or refusing to accept cookies.

我没有禁用Cookie。并且我没有在角度上做任何协议引用,所以我不知道为什么它会在重定向上徘徊。我在哪里可以看到?我该怎么办?

1 个答案:

答案 0 :(得分:0)

显然,Express封装了一些标题解析,我需要包含

app.enable('trust proxy');

优秀文章 - https://www.tonyerwin.com/2014/09/redirecting-http-to-https-with-nodejs.html