在Istio中使用JWT进行最终用户身份验证会产生“上游连接错误”

问题描述 投票:2回答:1

我正在尝试在Istio中使用JWT设置最终用户身份验证,如下所述:https://istio.io/help/ops/security/end-user-auth/

以下是重现的步骤:

  1. 在当地设立Istio:https://github.com/nheidloff/cloud-native-starter/blob/master/LocalEnvironment.md
  2. 设置HTTPS,示例服务和Ingress:https://github.com/nheidloff/cloud-native-starter/blob/master/istio/IstioIngressHTTPS.md
  3. kubectl apply -f https://github.com/nheidloff/cloud-native-starter/blob/master/istio/access.yaml

我创建了一个小应用程序来为用户获取JWT令牌。我已经通过https://jwt.io/检查了令牌是否有效。

当我调用以下URL时,我得到相同的错误:

curl -k https://web-api.local:31390/web-api/v1/getmultiple
curl -k https://web-api.local:31390/web-api/v1/getmultiple --header 'Authorization: Bearer eyJhbGciOiJIU.........wOeF_k'

HTTP状态代码:503上游连接错误或标头之前断开/重置

我没有在istio-proxy日志中看到与这些请求相关的任何条目。我认为这意味着在请求到达代理之前出现问题。

kubectl logs web-api-v1-545f655f67-fhppt istio-proxy

我试过Istio 1.0.6和1.1.1。

我已经没有想法还有什么可尝试的。任何帮助深表感谢!谢谢!

security kubernetes jwt istio
1个回答
2
投票

我发现了这个问题。诀窍是从我的yaml中删除mtls。当我阅读Istio文档时,听起来这是一个先决条件。

© www.soinside.com 2019 - 2024. All rights reserved.