使用expressjs 3强制SSL

使用expressjs 3强制SSL,第1张

使用expressjs 3强制SSL

当只有一台服务器可以完美地完成工作时,我不太了解启动两台服务器的意义。例如,通过在服务器文件中添加一个简单的中间件:

app.use(function(req, res, next) {  if(!req.secure) {    return res.redirect(['https://', req.get('Host'), req.url].join(''));  }  next();});

这会将所有非安全请求重定向到相应的HTTPS页面。例如,

http://example.com/
to
https://example.com/
http://example.com/foo?bar=woo
to
https://example.com/foo?bar=woo
。这绝对是我所期望的行为。也许您应该按主机筛选此文件,以便它仅在您拥有并安装了适当证书的域上重定向。

如果您的应用程序在Nginx之类的另一台服务器上运行,则可能需要添加configuration参数

app.set('trust proxy',true)
。或者,甚至更好的是,让Nginx自己执行重定向,这将比任何Node.js应用程序都更高效。

编辑: 根据我的基准,

join
+
连接字符串快一点。没什么大不了的,但是每一次胜利都是胜利。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5476948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存