根据标题,我有一个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'标头.
我认为我的评论是正确的:
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)
| 归档时间: |
|
| 查看次数: |
1932 次 |
| 最近记录: |