首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes -如何在负载均衡器后面获取客户端IP?

Kubernetes -如何在负载均衡器后面获取客户端IP?
EN

Stack Overflow用户
提问于 2020-12-11 14:40:07
回答 1查看 325关注 0票数 2

如何从nginx入口负载分配器获取客户端IP?我已经尝试设置use proxy protocolexternalTrafficPolicy,但它仍然不显示客户端IP。

Apache为每个http请求记录10.0.0.225。我不确定这是什么IP,它似乎不是pod的IP或节点IP。

httpd服务:

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: httpd
  labels:
    app: httpd-service
  namespace: test-web-dev
spec:
  type: NodePort
  selector:
    app: httpd
  ports:
    - name: port-80
      port: 80
      protocol: TCP
      targetPort: 80
    - name: port-443
      port: 443
      protocol: TCP
      targetPort: 443
  sessionAffinity: "ClientIP"
  sessionAffinityConfig:
    clientIP:
      timeoutSeconds: 10800
  externalTrafficPolicy: Local

入口-lb:

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: ingress-nginx
data:
  use-proxy-protocol: 'true'
---
kind: Service
apiVersion: v1
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
spec:
  externalTrafficPolicy: Local
  type: LoadBalancer
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: http
    - name: https
      port: 443
      protocol: TCP
      targetPort: https

在Apache中,我配置了以下日志记录设置:

代码语言:javascript
复制
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
CustomLog "logs/ssl_access_log" combined env=!forwarded
CustomLog "logs/ssl_access_log" proxy env=forwarded
EN

回答 1

Stack Overflow用户

发布于 2020-12-11 15:46:24

您应该会在X-Forwarded-For头部中获得源IP,这是nginx-ingress:forwarded-for-header的默认配置

这在ConfigMap中配置

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65246834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档