nginx - Kubernetes Nginx Ingress 通过 https 进行 pod 通信
问题描述
我正在研究如何在 Nginx Ingress -> 后端服务之间实现 https 安全连接。到目前为止,我在 Nginx Ingress 控制器中设置了 SSL,该控制器使用Lets Encrypt
证书管理器使用 http-01 质询来轮换证书。
这是我的场景:
- 来自互联网的客户端 -> 2. 负载均衡器 -> 3. 入口控制器(终止 TLS 流量)-> 4. 服务(端口 80)-> 5. Pod(端口 80)。
所以我的问题是如何保护入口控制器和 Pod 之间的通信,以便端到端加密流量?我需要自己的证书颁发机构来执行此操作吗?如果是这样,是否有任何开源解决方案可以像Cert manager一样处理证书管理?
解决方案
1.Nginx入口控制器+ DAPR
我不确定我可以在这里发布 youtube 网址(至少我从未见过有人这样做)但是.. 我认为这 100% 正是你想要的。您的场景在第一个主题中讨论,您只需要观看它。另外还有一个好处 - 您将在那里看到逐步安装。我个人觉得这个视频很有帮助
2.你可以通过 Istio 本身来实现。 Istio 示例!:安全入口
3. Istio 的 Istio + Calico 网络策略
Calico 对 Istio 服务网格的支持具有以下好处:
-Pod 交通控制
允许您限制 Pod 内部和外部的入口流量,并减轻对启用 Istio 的应用程序的常见威胁。
- 支持安全目标
支持采用零信任网络模型来确保安全,包括流量加密、多个执行点和多个身份验证标准。
推荐阅读
- assembly - 将两个字节 char byte1 和 char byte2 连接成一个短
- c - 函数地址与其他变量地址几乎相同
- perl - 如何在控制台中正确显示消息?
- elasticsearch - 匹配查询与字段中匹配的多个单词
- c# - 乒乓球游戏在统一 3d 2020 中卡在了线上
- typescript - Prettier:如何正确干预?
- javascript - 在 React 中动态更新 setState(Object)
- ocaml - 如何在 Ocaml 中解决这个字典问题?
- swift - SwiftUI:如何在 macOS 应用程序中实现编辑菜单
- python - Python匹配两个列表之间列表元素中的部分字符串