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

如何在Nginx Ingress Controller中配置与Nginx一致的请求头?

将Nginx请求头配置迁移到Ingress YAML

下面是对应你给出的Nginx配置的Ingress YAML完整示例,其中的注解配置完全对应原Nginx的4项请求头设置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: admingateway-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/proxy-set-header: |
      Host "$host:$proxy_port"
      X-Real-IP $remote_addr
      X-Forwarded-For $remote_addr
      Via "nginx"
spec:
  rules:
  - host: your-domain.com  # 替换为你的实际域名
    http:
      paths:
      - path: /admingateway(/|$)(.*)
        pathType: Prefix
        backend:
          service:
            name: admingateway-service  # 替换为后端Service的名称
            port:
              number: 8001  # 替换为Service的端口

配置对应说明:

  • nginx.ingress.kubernetes.io/proxy-set-header 注解用于定义转发给后端服务的请求头,每一行对应原Nginx的proxy_set_header指令:
    • Host "$host:$proxy_port" 对应原配置的proxy_set_header Host $host:$proxy_port;
    • X-Real-IP $remote_addr 对应原配置的proxy_set_header X-Real-IP $remote_addr;
    • X-Forwarded-For $remote_addr 对应原配置的proxy_set_header X-Forwarded-For $remote_addr;
    • Via "nginx" 对应原配置的proxy_set_header Via "nginx";
  • rewrite-target 和路径规则/admingateway(/|$)(.*)是为了匹配原Nginx中proxy_pass http://localhost:8001/admingateway/;的路径转发逻辑,确保请求路径正确传递到后端。
  • 请替换示例中的域名、Service名称和端口为你集群内的实际资源信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:05:28