开发者社区 > 云原生 > 容器服务 > 正文

容器服务ACKk8s上的后端服务需要获取客户端的IP地址要怎么搞?

容器服务ACKk8s上的后端服务需要获取客户端的IP地址要怎么搞?链路是 客户端--》k8s上前端--》k8s上的后端

展开
收起
三分钟热度的鱼 2023-10-25 16:19:13 160 0
3 条回答
写回答
取消 提交回答
  • 在Kubernetes中,获取客户端的真实IP地址可以通过几种方式实现。首先,您可以通过在服务配置中添加环境变量的方式来获取客户端IP。这种方式适用于在多个服务之间共享客户端IP的情况。

    另一种方式是通过在应用程序代码中检查HTTP请求头来获取客户端IP。例如,如果您使用的是Containous/whoami镜像作为后端服务,那么在访问其80端口时,它会返回客户端的相关信息,包括IP地址。

    此外,如果使用腾讯云负载均衡器(CLB七层),则默认会将客户端真实源IP放到HTTP Header的X-Forwarded-For和X-Real-IP字段。当服务流量经过Service四层转发后,这些字段会被保留,后端可以通过WEB服务器代理配置或应用代码方式获取到客户端真实源IP。

    2023-10-26 09:15:13
    赞同 展开评论 打赏
  • 在Kubernetes中,可以通过设置Kubernetes服务类型为NodePort或者LoadBalancer,并且配置Service的ExternalTrafficPolicy字段为Local,来使得后端服务能够获取到客户端的源IP地址。

    2023-10-26 08:05:34
    赞同 展开评论 打赏
  • 自己定义header头。此回答整理自钉群“容器服务ACK 用户交流-1群”

    2023-10-25 16:40:42
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    企业运维之云原生和Kubernetes 实战 立即下载

    相关镜像