流程为

业务端域名cname解析到waf的域名,通过waf后台的设置解析到k8s集群的公网ipv4的,再到ingress等等

服务部署在K8s上,K8s会将真实的客户端IP记录在X-Original-Forwarded-For字段中,并将WAF回源地址记录在X-Forwarded-For字段中。

1.执行以下命令修改配置文件kube-system/nginx-configuration

阿里云:kubectl -n kube-system edit cm nginx-configuration

华为云:kubectl -n kube-system edit cm cceaddon-nginx-ingress-controller

注:根据现有的集群去配置,我这边是阿里云的ack,华为的是cce turbo

2.在配置文件中添加以下内容:

compute-full-forwarded-for: "true"

forwarded-for-header: "X-Forwarded-For"

use-forwarded-headers: "true"

3.保存配置文件。

保存后配置即刻生效,Ingress会将真实的客户端IP添加到X-Forwarded-For字段中。

4.将业务程序获取客户端真实IP的字段修改为X-Original-Forwarded-For或者X-Forwarded-For,不区分大小写。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐