代理

当在代理服务器之后运行 Express 时,请将应用变量 trust proxy 设置(使用 app.set())为下述列表中的一项。

Boolean

  • 如果为 true,客户端 IP 地址为 X-Forwarded-* 头最左边的项。

  • 如果为 false, 应用直接面向互联网,客户端 IP 地址从 req.connection.remoteAddress 得来,这是默认的设置。

  • IP 地址

如:

app.set('trust proxy', 'loopback') // 指定唯一子网
app.set('trust proxy', 'loopback, 123.123.123.123') // 指定子网和 IP 地址
app.set('trust proxy', 'loopback, linklocal, uniquelocal') // 指定多个子网
app.set('trust proxy', ['loopback', 'linklocal', 'uniquelocal']) // 使用数组指定多个子网

Number

将代理服务器前第 n 跳当作客户端。

Function

如:

app.set('trust proxy', function (ip) {
  if (ip === '127.0.0.1' || ip === '123.123.123.123') return true; // 受信的 IP 地址
  else return false;
})

详见: 为 Express 设置代理

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress