将nodejs Express静态请求重定向到https

2024-05-22

我需要将所有 http 请求重定向到 https,包括对静态文件的请求。

My code:

app.use(express.static(__dirname + '/public'));

app.get('*', function(req, res) {
    if (!req.secure){
            return res.redirect('https://' + config.domain + ":" + config.httpsPort + req.originalUrl);
        }
    res.sendFile(__dirname + '/public/index.html');    
});

并且重定向不适用于静态文件。如果我改变顺序:

app.get(...);

app.use(...);

然后我的静电不起作用。如何重定向此类请求?


var app = express();

app.all('*', function(req, res, next){
    console.log('req start: ',req.secure, req.hostname, req.url, app.get('port'));
    if (req.secure) {
        return next();
    }

    res.redirect('https://'+req.hostname + ':' + app.get('secPort') + req.url);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将nodejs Express静态请求重定向到https 的相关文章