istio - Istio 服务到服务流量加密
问题描述
设想:
- 在 1 个 Azure Kubernetes 服务 (AKS) 中,有 2 个 .NET 服务正在运行:Service1 和 Service2
- Service1 和 Service2 都侦听 HTTP:80 和 HTTPS:443
- 两种服务都运行 Istio 和 Istio 代理
为了确保同一集群中服务之间的流量加密,使用双向 TLS,
Service1 是否需要调用 Service2 HTTPS:443 端点?
或者
调用 Service2 HTTP:80 就足够了,其余的由 istio 处理?
解决方案
使用 Istio 时(除非您有非常严格的安全要求,这不太可能)应用程序通常不应启动 HTTPS 连接。
让 Istio 做自动 mTLS。实际上,当应用程序启动 HTTPS 时,您会丢失 Istio 功能。
在这种情况下,流量在 Istio 外部被加密,并且由于代理无法读取流量,您将失去遥测等功能。
也可以让 Istio 为外部调用(网格之外)启动 HTTPS 连接。这称为TLS 发起。但是,这需要一些配置,并且本身启动 HTTPS 连接的客户端库不适用于该连接
推荐阅读
- javascript - 在 JS 中使用缩略图将背景更改为 Css
- c# - 未从所选目录运行的文件
- r - R:将数据框熔化 1 列并堆叠具有相同名称模式的其他列
- python - 如何在情感提取中冻结 Roberta 模型参数?
- python - 如果使用 df.itertuples() 如何检查一行中的列?
- python - 如何提高积分速度?
- python - 如何从一列中提取值并根据python中的目标列创建单独的二进制列
- c++ - C++ 入门第 5 版。从大括号列表中分配给 std::array
- robotframework - 无法设置 RobotFramework 字典
- c++ - 多线程正在减慢 OpenGL 循环