我的标题没有转发到我的服务有问题,我不确定是否添加了对Ingress的支持,但我有以下Ingress服务:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
"nginx.org/proxy-pass-headers": "custom_header"
spec:
rules:
- host: myingress.westus.cloudapp.azure.com
http:
paths:
- path: /service1
backend:
serviceName: service1
servicePort: 8080
但是,我的custom_header不会被转发。在nginx中我设置了underscores_in_headers:
underscores_in_headers on;
如何将此配置添加到我的ingress nginx服务中?
感谢。
答案 0 :(得分:2)
根据ingress configmap spec,您可以直接在configspec中使用此标题,例如:
apiVersion: v1
data:
enable-underscores-in-headers: "on"
kind: ConfigMap
metadata:
name: nginx-configuration
namespace: ingress-nginx
labels:
app: ingress-nginx
kubectl apply -f configmap.yml
答案 1 :(得分:1)
对于nginx入口控制器,我刚刚将“ true”而不是“ on”更改为我。 如此处所述:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/
apiVersion:v1
数据: 启用标题下划线:“ true”
种类:ConfigMap
元数据:
名称:nginx配置
命名空间:ingress-nginx
标签:
app: ingress-nginx
kubectl apply -f configmap.yml
答案 2 :(得分:0)
每当您从Helm或手动在Kubernetes天气中安装Nginx Ingress时,它总是使用它创建控制器。控制器是处理所有路由的主要容器。 这些控制器Pod在Kube-System命名空间中的部署中定义。 此部署附带一个ConfigMap,该ConfigMap也位于Kube-System中。 Deployment that have Nginx Ingress Controllers definition.
Default Config Map that is Connected to Ingress Deployment.
现在您要做的就是将配置添加到此Config Map文件中。 Altered/Edited Config Map.