node.js - NodeJS 无法重定向(甚至看到)一些传入的请求
问题描述
使用本教程,我能够使用 SSL 密钥设置 NodeJS。它创建了两个 http 服务器(一个安全,一个不安全)。
var app = express();
var sslOptions = {}; // SSL key stuff in here
var https = require('https');
https.createServer(sslOptions, app).listen(443);
var http = require('http');
http.createServer(app).listen(80);
然后它检查任何传入的请求——如果它不安全,它将它重定向到安全的 URL
app.use(function(req, res, next) {
console.log('request... ' + req.url); // I don't see this
if (req.secure) {
console.log('secure ' + req.url);
next();
} else {
console.log('redirect... https://' + req.headers.host + req.url);
res.redirect('https://' + req.headers.host + req.url);
}
});
当我开始使用新的浏览器时,我看到一些请求进入,例如 favicon.ico。但是对 www.mydomain.com 的实际请求似乎一起绕过了这一切(就像我对端点发出的请求一样)。更糟糕的是,我曾一度让这个工作。不知道我做了什么来打破它。Anywho,结果是http://www.example.com试图访问https://www.example.com/endpoint的端点并且失败(更不用说不加载页面的安全版本)。
解决方案
推荐阅读
- r - 将具有取决于另一列的值的列添加到数据框中
- angular - Angular 服务,最佳实践
- python - Tweepy Status.created_at 时间与时间线实际时间不一致
- android - Android XML 数据绑定中的复杂条件语句
- angular-cli - Angular+NativeScript ng 构建错误:AppComponent 在 2 个模块中定义
- python - Tensorflow中多元正态的CDF
- azure-active-directory - 通过 AD 组的 Microsoft Graph AppRoleAssignments
- ruby - 如何在 Sinatra 中读取标题?
- python - 将 L-BFGS 优化器与 Tensorflow 估计器 API 结合使用
- .htaccess - 使用 htaccess 将旧 url 重定向到同一域的新 url