我正在通过ISTIO处理从Azure Web应用程序防火墙到Kubernetes集群的SSL连接。
从客户端到Azure WAF的连接已经过TLS加密。
据我了解,我必须在WAF中再次加密数据。我可以使用与已用于连接WAF的证书相同的证书吗?
在这里,我将按照本文所述进行操作:application-gateway-end-to-end-ssl-powershell
然后我必须在Istios Ingress Gateway中存入相同的证书。如上所述:Configure a TLS ingress gateway
> cat <<EOF | kubectl apply -f -
>
>
> apiVersion: networking.istio.io/v1alpha3
> kind: Gateway
> metadata:
> name: mygateway
> spec:
> selector:
> istio: ingressgateway # use istio default ingress gateway
> servers:
> - port:
> number: 443
> name: https
> protocol: HTTPS
> tls:
> mode: SIMPLE
> serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
> privateKey: /etc/istio/ingressgateway-certs/tls.key
> hosts:
> - "httpbin.example.com"
> EOF
到目前为止这是正确的吗?
您需要在istio网关中使用您在应用程序网关中指定的相同证书(因此证书应用程序网关需要)。您的网关配置看起来有效,只要证书相同且主机相同即可。
对我来说,最后它起作用了。我有一种情况,Application Gateway部署了自己的VirtualNetwork和Subnet。所以我让Vnet Peering认为这就足够了。但事实并非如此。经过几天的挣扎,我发现我的VirtualNetwork子网与AKS内的docker网络相同。当我用新子网重新创建ApplicationGateway时,它不能覆盖docker子网的任何部分,它可以工作。