如何强制dotcloud上的nodejs只使用HTTPS?

时间:2013-01-28 09:56:04

标签: node.js https dotcloud

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

我应该如何在dotcloud平台上进行操作?

提前致谢!

3 个答案:

答案 0 :(得分:0)

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

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

How to force SSL / https in Express.js

Automatic HTTPS connection/redirect with node.js/express

答案 1 :(得分:0)

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

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

答案 2 :(得分: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();
});