繁体   English   中英

集成 Azure 应用网关、汉德和 Istio

[英]Integrating Azure Application Gateway, AGIC and Istio

有没有人能够将主题中的三个集成起来以实现端到端 TLS? 澄清一下,我说的是应用程序网关和 Istio 入口之间的 TLS。 StackOverflow 上有一些线程, AGIC Github 存储库上有一个旧问题,但我找不到任何证据表明它确实有效。 如果有人让它工作,你能分享设置吗?

• 根据Istio 文档,任何对网关的请求都会有两个连接,即客户端下游入站连接到网关和客户端出站连接到目的地,如下图所示: -

TLS 应用网关

因此,在上述场景中,将网关视为 Azure 应用程序网关,将 Istio ingress 视为目的地,因此这两个连接都是独立的 TLS 连接。

对于 TLS 连接,还有几个选项:

a) 封装了什么协议? 如果连接是HTTPS ,则服务器协议应配置为 HTTPS。否则,对于使用 TLS 封装的原始 TCP 连接,协议应设置为 TLS。

b) TLS 连接是终止还是通过? 对于直通流量,将 TLS 模式字段配置为PASSTHROUGH :-

  apiVersion: networking.istio.io/v1beta1
    kind: Gateway
           ...
       servers:
       - port:
         number: 443
           name: https
           protocol: HTTPS
         tls:
           mode: PASSTHROUGH

在这种模式下,Istio 将根据SNI 信息进行路由,并将连接原样转发到目的地。 可以通过 TLS 模式MUTUAL配置相互 TLS。 配置后,将根据配置的caCertificatescredentialName请求并验证客户端证书:-

   apiVersion: networking.istio.io/v1beta1
     kind: Gateway
      ...
       servers:
       - port:
         number: 443
           name: https
         protocol: HTTPS
         tls:
          mode: MUTUAL
          caCertificates: ... ’

唯一的区别是您在配置时应该仔细考虑网关设置。 例如,如果 Gateway 配置了 TLS PASSTHROUGH ,而DestinationRule配置了 TLS origination,那么您将得到双重加密 这可行,但通常不是所需的行为。

绑定到网关的VirtualService也需要小心以确保它与网关定义一致。 在这种情况下,将网关视为 Azure 应用程序网关,从这个意义上讲,TLS 设置已正确配置。 有关更多信息,请参阅下面的 Istio 文档:-

https://istio.io/latest/docs/ops/configuration/traffic-management/tls-configuration/

https://istio.io/latest/docs/tasks/traffic-management/ingress/ingress-sni-passthrough/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM