本文基于rancher界面化操作

 

如果使用k8s方式

 执行kubectl -n kube-system edit cm nginx-configuration

添加如下内容

compute-full-forwarded-for: "true"
forwarded-for-header: "X-Forwarded-For"
use-forwarded-headers: "true"

最后在业务程序获取使用x-Original-Forwarded-For。

在客户端获取示例

 let ip = null
  let ipStr = req.headers['X-Real-IP'] || req.headers['x-forwarded-for']
  if (ipStr) {
    let ipArr = ipStr.split(',')
    if (ipArr || ipArr.length) {
      ip = ipArr[0]
    } else {
      ip = req.ip().substring(req.ip().lastIndexOf(':') + 1)
    }
  }

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐