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

容器服务ACK获取客户端真实 IP 怎么设置?

容器服务ACK获取客户端真实 IP 怎么设置?

展开
收起
真的很搞笑 2023-08-14 15:07:06 187 0
1 条回答
写回答
取消 提交回答
  • 在 Kubernetes 中,有两种方式可以获取客户端真实 IP:

    使用 X-Forwarded-For 头部。
    使用 IP 映射。
    使用 X-Forwarded-For 头部是最简单的方式,但是它只能获取第一个代理服务器的 IP 地址。如果请求经过了多个代理服务器,那么该头部可能包含多个 IP 地址,而这些 IP 地址可能不是客户端的真实 IP 地址。

    使用 IP 映射是获取客户端真实 IP 地址的更可靠的方式。在 Kubernetes 中,可以通过配置 kube-proxy 来使用 IP 映射。当客户端请求到达 kube-proxy 时,kube-proxy 会检查请求中的 X-Forwarded-For 头部,如果没有找到该头部,kube-proxy 会使用 iptables 将请求的 IP 地址映射到客户端的真实 IP 地址。

    下面是一个使用 IP 映射获取客户端真实 IP 地址的示例:

    创建一个 Kubernetes 集群。
    创建一个 Pod,并在 Pod 中运行一个应用程序。
    访问应用程序的 URL。
    在浏览器的开发工具中,查看 X-Forwarded-For 头部。如果该头部没有值,则说明 kube-proxy 已经使用 iptables 将请求的 IP 地址映射到了客户端的真实 IP 地址。
    如果您需要获取客户端真实 IP 地址,建议您使用 IP 映射的方式。

    2023-09-22 11:38:12
    赞同 展开评论 打赏

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

相关产品

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

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

    相关镜像