0

默认情况下,dotcloud 允许我通过 HTTPS 访问我的节点实例,但我应该只允许 HTTPS 并将每个 HTTP 请求转发到 HTTPS。

在dotcloud平台上应该怎么做?

提前致谢!

4

3 回答 3

0

它应该与托管在其他地方的任何其他 node.js 应用程序相同。

您是否尝试过这些答案中的解决方案?

如何在 Express.js 中强制 SSL / https

使用 node.js/express 自动 HTTPS 连接/重定向

于 2013-01-28T13:08:25.380 回答
0

dotCloud 提供了一个额外的标头:x-forwarded-proto,它允许您了解代理源。

在您的代码中,您可以使用 req.headers['x-forwarded-proto'] (是 'http' 或 'https' )来了解来源。当它是http时,您可以重定向到https。

于 2013-01-28T19:43:25.780 回答
0

作品!多谢你们!

connectApp.use(function(req, res, next){
    if( req.headers['x-forwarded-proto'] && req.headers['x-forwarded-proto'] == "http" )
        res.redirect( 'https://' + global.config.server.address );
    else
        next();
});
于 2013-01-29T09:33:31.157 回答