我正在try 为Express创建一个中间件.js将所有非安全(端口80)流量重定向到安全SSL端口(443).

一个解决方案是重定向every个请求,但这不是我的 Select .

笔记:

  1. 不可能用Apache或其他东西来处理它.它需要在 node 中完成.

  2. 应用程序中只能启动one台服务器.

你会怎么解决这个问题?

推荐答案

因为我在使用nginx,所以我可以访问报头的x-forwarded-proto属性,这样我就可以编写一个小型中间件来重定向所有流量,如下所述:http://elias.kg/post/14971446990/force-ssl-with-express-js-on-heroku-nginx

编辑:更新了url

Node.js相关问答推荐

使用Google Cloud控制台时,onCall方法在云功能中失败

意外标识符断言Shopify Remix应用程序

Mongoose查询-如何根据当前查找ID获取其他集合并将其插入到当前查找中?

如何在mongodb集合中设置数据限制?

仅在一次查询中 MongoDB 上最近的一对位置

Nest Js - 在 multer 拦截器中如何设置最大文件上传大小并进行可选文件上传

无法使用 Express 设置会话 cookie 的过期日期

如何模拟 mysql2 `getConnection`

几个 lambda 共有的函数

是否可以在 NodeJS 代码库中的每个函数之前和之后添加 console.log?

如何使用 Remix 仅在客户端呈现组件?

firebase/messaging 不提供名为 getToken 的导出

如何删除mongodb中嵌套数组中所有出现的数组元素

将环境变量从 GitHub 操作传递到 json

如何在 NestJS 中使用外部生成的 swagger.json?

如何在 mongoDB 中用值 0 填充缺失的文档?

Handlebars:访问已被拒绝解析来自的属性,因为它不是其父级的自己的属性

如何在离线时安装 npm 包?

NodeJS 中的 HTTPS 请求

我可以让 node --inspect 自动打开 Chrome