如何检测Azure网站上的HTTPS重定向?

Siy*_*ion 1 azure node.js

根据标题,我有一个Node.js应用程序,我希望能够检测是通过HTTPS还是HTTP发出请求.到目前为止,我的重定向看起来像这样:

// Ensure the page is secure, or that we are running a development build
if (req.headers['x-forwarded-proto'] === 'https' || process.env.NODE_ENV === 'development') {
    res.render('index');
} else {
    winston.info('Request for login page made over HTTP, redirecting to HTTPS');
    res.redirect('https://' + req.host);
}
Run Code Online (Sandbox Code Playgroud)

这在Nodejitsu上工作正常,但重定向的HTTPS请求没有在Azure上设置'x-forwarded-proto'标头.

Siy*_*ion 6

我认为我的评论是正确的:

X-ARR-SSL 似乎是要检查的标题.

// Ensure the page is secure, or that we are running a development build
if (req.headers['x-forwarded-proto'] === 'https' || req.headers['x-arr-ssl'] || process.env.NODE_ENV === 'development') {
    res.render('index');
} else {
    winston.info('Request for login page made over HTTP, redirecting to HTTPS');
    res.redirect('https://' + req.host);
}
Run Code Online (Sandbox Code Playgroud)