You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx Ingress导致Keycloak登录跳转及invalid token specified错误排查

问题根因

你遇到的token失效报错核心是Nginx Ingress默认未完整透传OAuth2认证所需的请求头、CORS规则不满足带认证信息的跨域请求要求,部分场景下还可能因为JWT token过长被Nginx截断。

需要补充的Ingress配置项

你需要在现有Ingress的annotations字段中新增以下配置:

  • 跨域规则补充:允许携带认证凭证、放行Authorization请求头
  • 透传原生请求头:将前端携带的Authorization头、原请求协议/域名/端口完整透传给后端Spring服务,避免Keycloak token issuer校验失败
  • 调大请求头缓冲区:避免过长的JWT token被Nginx默认缓冲区截断

修改后的完整Ingress配置示例

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: main-ingress-prd
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
    # 原有CORS配置保留
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/cors-allow-origin: "https://auth.xxxxx.com, https://001.xxxxxx.com, http://localhost:4200"
    # 新增CORS补充配置
    nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
    nginx.ingress.kubernetes.io/cors-allow-methods: "GET, PUT, POST, DELETE, PATCH, OPTIONS"
    nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization"
    # 透传认证与转发头
    nginx.ingress.kubernetes.io/proxy-set-header: |
      Authorization $http_authorization;
      X-Forwarded-Proto $scheme;
      X-Forwarded-Host $host;
      X-Forwarded-Port $server_port;
    # 调大请求头缓冲区,避免JWT过长被截断
    nginx.ingress.kubernetes.io/proxy-buffer-size: "16k"
spec:
  tls:
  - hosts:
    - mainservice.xxxxxxx.com
    secretName: mainservice-com-06-01-2021
  rules:
  - host: mainservice.xxxxxxx.com
    http:
      paths:
        - path: /*
          pathType: Prefix
          backend:
            service:
              name: main-service-prd
              port:
                number: 80

可选排查项

如果修改配置后问题仍存在,可在Spring Webflux服务中新增日志打印请求的Authorization头值,确认后端是否能完整拿到前端传递的Bearer token,同时确认Spring Security OAuth2配置中Keycloak的issuer uri和前端使用的公网Keycloak地址完全一致。

内容的提问来源于stack exchange,提问作者vv01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 01:45:03