![Kubernetes pod 使用 Keycloak Bearer 标头返回 401](https://linux22.com/image/759019/Kubernetes%20pod%20%E4%BD%BF%E7%94%A8%20Keycloak%20Bearer%20%E6%A0%87%E5%A4%B4%E8%BF%94%E5%9B%9E%20401.png)
我有一个 k8s 集群,其中 ALB(ingress)-->(api 服务、keycload 服务)-->(api 部署、pod 部署)。
我使用授权代码身份验证访问 Keycloak 并获取访问令牌。但是当我们使用 keycloak accesstoken 作为承载标头调用 api 服务时,api 返回 401 且没有任何日志。
cache-control: no-cache, no-store, max-age=0, must-revalidate
content-length: 0
date: Fri, 23 Oct 2020 11:35:42 GMT
expires: 0
pragma: no-cache
status: 401
strict-transport-security: max-age=31536000 ; includeSubDomains
vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
我还将 pod 和服务转发到本地主机并调用它,但它仍然无法处理。
curl -X GET "http://localhost:8080/auth/profile" -H "accept: application/json" -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmdlhrRlJVZHZmQ0Iwai00c2x3Vjhwelg5Q0dNT0hhUWMwY18xUkQ0ZkRzIn0.eyJleHAiOjE2MDM0NzUxMzUsImlhdCI6MTYwMzQ0MDI5OSwiYXV0aF90aW1lIjoxNjAzNDM5MTM1LCJqdGkiOiIxYzAxOTNiNi1hY2Q5LTQwY2ItODEwNC03YmQzMmZlYWQ3MWYiLCJpc3MiOiJodHRwczovL2tleWNsb2FrLnZhbGlkOC5waGFybWFjeXN0YXJzLmNvbS9hdXRoL3JlYWxtcy9tYXN0ZXIiLCJzdWIiOiI3ZGRkYWJlZC1iNDUxLTQwZDQtOGExYi1jZTM1MTA5OGNjMGUiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJ2YWxpZDgiLCJzZXNzaW9uX3N0YXRlIjoiYzU1YTM0NjUtZWM1My00YTAxLThlYjgtOGQ3MDViYjk2MzI4IiwiYWNyIjoiMCIsImFsbG93ZWQtb3JpZ2lucyI6WyIqIl0sInJlc291cmNlX2FjY2VzcyI6eyJ2YWxpZDgiOnsicm9sZXMiOlsiTWVtYmVyIl19fSwic2NvcGUiOiJvcGVuaWQgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImVtYWlsIjoidmFuLmxlQHhwZXJjLmNvbSJ9.EOAhCVslwpgpNyGX17MYw4dKgpVAUwwmvgDW_qE6KIFLyCUjYjDSKhLlvuYGDQ6_LMgkujBIzDlFMp3lzAuFpfxmeCAggplxtDuheiumXVC4D-J3BLRzPxtl2zVRaWsglOTaE3V24PwHXpofSbSDAoqdTeOeqGYNV9dllHpv81L2odRKLQvKttL-TSDJnaE6ypL2yNL8aXmikTE7ZPK9cgz42MMY_qby75ihKIJU9s-GMONvqOyFwyk2z_A_mB9W3LfS1GT4DYgOMzXuaQFueDK8V0W3QwZIjHvsWYe23M1stkl_uBv66dSaCGg0I1lgts8t4HLvC71e16jwVnRCtA"
有人能告诉我我的设置出了什么问题吗?任何帮助我都感激不尽。
PS:我的 api 映像是在 Spring boot 堆栈上构建的,其中 tomcat 是嵌入式 Web 服务器。