[英]Add a custom header per rule on Kubernetes Ingress with Traefik
我要搬到kubernetes
使用traefik
作為我的入口控制。
我有一個應該響應3000多個網站的后端。 根據主機的不同,我需要在代理將代碼傳遞給后端之前為請求添加自定義標頭。
我可以使用ingress.kubernetes.io/custom-request-headers
注釋為請求添加自定義標頭,但它是整個Ingress的注釋,因此我需要創建3000+ Ingress,每個網站一個。
還有另一種方法嗎? 創建3000+ Ingress與創建一個具有3000+規則的Ingress是一回事嗎?
是的,如果你想讓她的主機使用不同的標頭,你需要為每個主機創建一個Ingress對象。
你可以通過Traefik來做到這一點:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: traeffic-custom-request-header
annotations:
ingress.kubernetes.io/custom-request-headers: "mycustomheader: myheadervalue"
spec:
rules:
- host: custom.configuration.com
http:
paths:
- backend:
serviceName: http-svc
servicePort: 80
path: /
此外,你可以通過Nginx Ingress Controller做同樣的事情。
它支持configuration snipper
。 以下是使用它為每個Ingress對象設置自定義標頭的示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-configuration-snippet
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "Request-Id: $request_id";
spec:
rules:
- host: custom.configuration.com
http:
paths:
- backend:
serviceName: http-svc
servicePort: 80
path: /
順便說一下,您可以在群集上使用多個不同的入口控制器,因此不需要將所有內容遷移到只有一種類型的Ingress。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.