微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在公司代理后面访问外部 jwksuri

如何解决在公司代理后面访问外部 jwksuri

我是 istio 的新手,对配置请求身份验证策略有疑问。该策略使用 jwksuri,它是一个外部 URI。该策略应用于 istio-system 命名空间。我应用此策略的那一刻并做

>istioctl proxy-status 

应用 LDS 策略的入口网关被标记为过时。如果我删除此策略,网关将返回同步状态。似乎无法访问此 jwksuri,因为我们位于公司代理之后。我创建了服务条目来访问像这样的外部 jwks uri

kubectl apply -f - <<EOF
apiVersion: 
networking.istio.io/v1alpha3
kind: ServiceEntry
Metadata:
name: jwksexternal
 spec:
  hosts:
  - 
authorization.company.com
  ports:
  - number: 443
    name: https
    protocol: HTTPS
  resolution: DNS
  location: MESH_EXTERNAL
EOF

还尝试创建另一个服务条目“配置到外部代理的流量”,参考此文档https://istio.io/latest/docs/tasks/traffic-management/egress/http-proxy/

但这不起作用。我应该如何在 Istio 中配置公司代理。

编辑这是 istiod 中的日志(请注意 https://authorization.company.com/jwk 是外部网址)

2021-06-02T14:35:39.423938Z error model Failed to fetch public key from "https://authorization.company.com/jwk": Get "https://authorization.company.com/jwk": dial tcp: lookup authorization.company.com on 10.X.0.X:53: no such host
2021-06-02T14:35:39.423987Z error Failed to fetch jwt public key from "https://authorization.company.com/jwk": Get "https://authorization.company.com/jwk": dial tcp: lookup authorization.company.com on 10.X.0.X:53: no such host
2021-06-02T14:35:39.424917Z info ads LDS: PUSH for node:istio-ingressgateway-5b69b5448c-8wbt4.istio-system resources:1 size:4.5kB
2021-06-02T14:35:39.433976Z warn ads ADS:LDS: ACK ERROR router~10.X.48.X~istio-ingressgateway-5b69b5448c-8wbt4.istio-system~istio-system.svc.cluster.local-105 Internal:Error adding/updating listener(s) 0.0.0.0_8443: Provider 'origins-0' in jwt_authn config has invalid local jwks: Jwks RSA [n] or [e] field is missing or has a parse error

无法找到解决此问题的方法。截至目前,将 jwks 嵌入到 jwt 规则中。但是,每当公钥被轮换时,就会出现问题。jwt 规则失败。这是一个代理问题,但不确定如何绕过

解决方法

默认情况下,Istio 允许外部系统的流量。

https://istio.io/latest/docs/tasks/traffic-management/egress/egress-control/#change-to-the-blocking-by-default-policy

因此,如果问题是无法访问 JWKS URL,则很可能不是因为 Istio,而 ServiceEntry 也无济于事。我想问题会出在其他地方,而不是 Istio。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。