如何从 Kubernetes 服务背后的 HTTP 请求读取客户端 IP 地址?

2024-05-07

我的 Web 应用程序作为 Kubernetes pod 在 SSL 的 nginx 反向代理后面运行。代理和我的应用程序都使用 Kubernetes 服务进行负载平衡(如所述here http://blog.kubernetes.io/2015/07/strong-simple-ssl-for-kubernetes.html).

问题是我的所有 HTTP 请求日志仅显示内部集群 IP 地址,而不是实际 HTTP 客户端的地址。有没有办法让 Kubernetes 服务将此信息传递到我的应用程序服务器?


从 1.5 开始,如果您在 GCE(通过扩展 GKE)或 AWS 中运行,您只需向服务添加注释即可使 HTTP 源保存工作。

...
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/external-traffic: OnlyLocal
...

它基本上通过节点端口直接公开服务,而不是提供代理——通过在每个节点上公开运行状况探测器,负载均衡器可以确定将流量路由到哪些节点。

在1.7中,此配置已成为GA,因此您可以设置"externalTrafficPolicy": "Local"在您的服务规范上。

点击这里了解更多 https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Kubernetes 服务背后的 HTTP 请求读取客户端 IP 地址? 的相关文章

随机推荐

  • 服务器端生成的 Excel 中出现 System.Runtime.InteropServices.COMException 错误

    我们有一个 Web 应用程序 可以生成 Excel 电子表格并在服务器端运行宏 然后它通过电子邮件将它们发送给不同的人 它是传统报告风格的一部分 我们正在对其进行转换 但仍然支持我们作为 IIS 中的网站提供的新应用程序 我知道进行 Off
  • 发布后忽略基本标签

    在 Chrome 上我收到错误Refused to execute a JavaScript script Source code of script found within request 在发布包含域名的数据后 另请注意任一页面上都缺
  • Openshift 上的自定义 Node.js 版本

    我在运行自定义节点版本时遇到问题node0 10您可以在开放班次中找到墨盒here https github com DavidReinberger openshift meteor leaderboard customNode 我可以很好
  • 视频回退到 Flash 在 Firefox 中不起作用

    我一直在审查有关开发人员向其 HTML5 网站添加 Flash 后备的不同方式的材料 我有这个带有虚拟视频的测试代码
  • 故事板中的 Xcode 6 UIVisualEffectView

    我正在 Xcode 6 中的对象库中查找 UIVisualEffectView 以在 Storyboard 中添加模糊效果 我知道如何以编程方式执行此操作 但我找不到在故事板中执行此操作的方法 这在当前的测试版中是否不可用 或者有没有一种不
  • Python 字符串到 SQL IN 参数的列表

    我在 python 中有这个查询 ssim group S1200 S1300 query select WIPMessageCnt from waferdata where recipename in s and equipment an
  • Django 全文搜索优化 - Postgres

    我正在尝试利用 Django v2 1 和 Postgres 9 5 创建一个地址自动完成功能的全文搜索 但性能目前不适合自动完成 我不明白逻辑我得到的绩效结果背后 就信息而言 该表相当大 有 1400 万行 我的型号 from djang
  • 将outer()应用于两个列表

    我有一个清单 说exm list elm1 c a b elm2 c b c d elm3 c b c d e 我想对以下两个元素的每个组合应用一个函数exm e g length intersect exm elm1 exm elm2 结
  • Android 开发应用程序密钥和应用程序秘密

    我正在尝试使用带氦气选项的城市飞艇为 Android 应用程序设置推送通知 但是 我需要为我的应用程序找到这些信息 但我不知道从哪里可以找到 任何意见或建议将不胜感激 谢谢你 For setting up Helium make sure
  • Tkinter - 打开一个窗口并关闭另一个窗口

    我想要一个登录屏幕 当登录成功时 屏幕将关闭并创建一个新屏幕 问题是 当我执行以下代码时 两个屏幕同时打开 如果您有任何改进代码的建议 请提出 from Tkinter import import mysql connector impor
  • Entity Framework Core 1.0 连接字符串

    我们正在开发一个非常大的 ASP NET Core MVC 1 0 应用程序 我们的每个应用程序都有 4 层 如下所示 DTO 存储库 实体框架 代码优先 服务 业务逻辑 MVC UI MVC 目前 在我们处理所有数据库操作的存储库中 我们
  • 如何将 igraph 中的边标签与边分开?

    我想移动边缘标签的位置 使其不在其上方 这是一个小例子 g lt graph empty n 3 g lt graph c 1 2 3 2 1 3 directed T E g weight lt c 3 2 5 plot g edge l
  • 将依赖项添加到自定义 gradle 插件

    我正在创建一个使用 gson 的 gradle 插件 但是当我在客户端使用该插件时 它会抛出此错误java lang NoClassDefFoundError com google gson Gson我希望我以错误的方式链接插件中的依赖项
  • 如何在 Windows 中使用 cmake 构建和链接 google benchmark

    我正在尝试构建 google benchmark 并使用 cmake 将其与我的库一起使用 我已经成功构建了 google benchmark 并使用 cmake 成功运行了所有测试 不幸的是 我无法使用 cmake 或 cl 将其与 Wi
  • 判断正则表达式是否只匹配固定长度的字符串

    有没有办法确定正则表达式是否只匹配固定长度的字符串 我的想法是扫描 和 然后 需要一些智能逻辑来查找 m n 其中 m n 没有必要采取 考虑到运营商 小例子 d 4 是固定长度 d 4 5 或 d 是可变长度 我正在使用PCRE Than
  • 找不到 com.mapbox.mapboxsdk:mapbox-android-accounts:0.7.0。全新安装 MapBox

    我建立了一个新的反应本机项目并添加了 Mapboxyarn add react native mapbox gl maps This 请注意 如果您使用默认的 Mapbox Android SDK 包含在此库中 并且使用较新的 Androi
  • H2数据库排序规则:选择什么?

    经过大量阅读和实验后 似乎我想要主要的搜索强度 但第三或相同的排序强度 主要问题 用 H2 或任何其他数据库 可以实现吗 第二个问题 我是这里唯一的人吗 或者你们中有人也喜欢上述组合吗 一些确认会对我的理智有所帮助 背景 看来排序规则只能在
  • 发布预编译的 ASP.net-MVC VS2010

    我找到了几个使用构建后事件的解决方案 有没有办法publishASP NET MVC 网站带有编译视图 以防止第一个用户查看延迟 但是不编译 them 在开发环境中 更快地编译网站 谢谢你 附 理想情况下 在 Visual Studio 2
  • ASP.NET MVC 5 基于用户角色自定义 Bootstrap 导航栏

    我正在使用 ASP NET MVC 5 内置身份验证方法 我想根据用户所处的角色显示和隐藏链接 在菜单导航栏中 有人达到这个目的了吗 从哪里开始 只需将您的链接包含在 if User IsInRole SomeRole
  • 如何从 Kubernetes 服务背后的 HTTP 请求读取客户端 IP 地址?

    我的 Web 应用程序作为 Kubernetes pod 在 SSL 的 nginx 反向代理后面运行 代理和我的应用程序都使用 Kubernetes 服务进行负载平衡 如所述here http blog kubernetes io 201