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

Kong Kubernetes Ingress响应转换器插件动态头配置求助

解决Kong Kubernetes Ingress Controller响应转换器动态请求头配置问题

原生response-transformer插件不支持直接使用请求头变量生成动态响应头,你需要改用response-transformer-advanced插件(增强版响应转换器),该插件支持从请求上下文中提取动态值。

正确配置示例

1. 定义response-transformer-advanced插件

apiVersion: configuration.konghq.com/v1
config:
  append:
    headers:
      # 使用request前缀指定从请求头中取值
      - x-test-response-header:$(request.headers.Authorization)
kind: KongPlugin
metadata:
  name: response-transformer-advanced
  namespace: kong-test
plugin: response-transformer-advanced

2. 在Ingress中关联插件

确保你的Ingress资源引用这个新插件(保留原request-transformer插件):

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: your-ingress-resource
  namespace: kong-test
  annotations:
    konghq.com/plugins: request-transformer,response-transformer-advanced
spec:
  rules:
    - host: your-domain.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: httpbin-service
                port:
                  number: 80

验证效果

部署配置后,用curl测试:

curl -H "Authorization: eyJhbGciOiJSUzI1Ni..." https://your-domain.com/anything -v

查看响应头,x-test-response-header会正确携带请求中的Authorization值,而非静态字符串$(headers.Authorization)。

关键说明

  • 原生response-transformer仅支持静态响应头配置,不支持变量插值;
  • response-transformer-advanced支持Kong的变量语法,取值时需要用request.headers.XXX明确指定从请求头中提取;
  • 若要使用之前通过request-transformer添加的x-test-header,变量路径为$(request.headers.x-test-header)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:46:05