Supports appending HTTP headers of the user request to upstream based on canary routing of header, cookie or query
lianglli opened this issue · 2 comments
lianglli commented
Supports appending HTTP headers of the user request to upstream based on canary routing of header, cookie or query
lianglli commented
nginx.ingress.kubernetes.io/canary-request-append-header
lianglli commented
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-by-query: open3
nginx.ingress.kubernetes.io/canary-by-query-value: abc1||abc2||abc3||abc4||abc5||abc6||abc7||abc8||abc9||abc10||abc11||abc12||abc13||abc14||abc15||abc16||abc17||abc18||abc19||abc20||abc21
nginx.ingress.kubernetes.io/canary-request-append-header: UserData:user=236-564-29121||test-ingress6:$ssl_protocol
nginx.ingress.kubernetes.io/ssl-redirect: "true"
creationTimestamp: "2023-10-31T06:30:31Z"
generation: 2
name: tengine-ingress-hello-query-ing
namespace: default
resourceVersion: "28580135"
uid: debebfd0-afd2-4604-af8d-a41ad400bfbc
spec:
ingressClassName: opensource-ingress
rules:
- host: echo.w1.com
http:
paths:
- backend:
service:
name: tengine-ingress-hello3-service
port:
number: 80
path: /
pathType: Prefix
tls:
- hosts:
- echo.w1.com
secretName: https-server-1
status:
loadBalancer:
ingress:
- {}
$ curl -i -k -H "test-ingress6: default" https://echo.w1.com/?open3=abc2
HTTP/2 301
server: Tengine/3.1.0
date: Wed, 01 Nov 2023 11:33:42 GMT
location: /?open3=abc2/
strict-transport-security: max-age=0
ups-target-key: default-tengine-ingress-hello3-service-80
x-protocol: HTTP/2.0
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000