在Istio中使用JWT进行的最终用户身份验证显示“上游连接错误”

时间:2019-04-03 09:14:50

标签: security kubernetes jwt istio

我正尝试按照以下说明在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,示例服务和入口: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。

我已经没有其他可以尝试的主意了。任何帮助深表感谢!谢谢!

1 个答案:

答案 0 :(得分:2)

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