我有以下配置:
雏形:
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: nginx-ingress
namespace: nginx-ingress
spec:
selector:
matchLabels:
app: nginx-ingress
template:
metadata:
labels:
app: nginx-ingress
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx/nginx-ingress:1.4.2-alpine
imagePullPolicy: Always
name: nginx-ingress
ports:
- name: http
containerPort: 80
hostPort: 80
- name: https
containerPort: 443
hostPort: 443
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
args:
- -nginx-configmaps=$(POD_NAMESPACE)/nginx-config
- -default-server-tls-secret=$(POD_NAMESPACE)/default-server-secret 主配置:
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
namespace: nginx-ingress
data:
proxy-set-headers: "nginx-ingress/custom-headers"
proxy-connect-timeout: "11s"
proxy-read-timeout: "12s"
client-max-body-size: "5m"
gzip-level: "7"
use-gzip: "true"
use-geoip2: "true"自定义标头:
apiVersion: v1
kind: ConfigMap
metadata:
name: custom-headers
namespace: nginx-ingress
data:
X-Forwarded-Host-Test: "US"
X-Using-Nginx-Controller: "true"
X-Country-Name: "UK" 我遇到以下情况:
否则,控制器日志显示,我唯一的后端(一个转储头的快速表应用程序)是服务器,我得到预期的响应等等。
我已经从github上的示例中复制了尽可能多的内容,进行了最少的更改,但没有结果(包括查看自定义标头的示例时)。
如有任何意见或建议,将不胜感激。
谢谢!
发布于 2019-01-08 00:47:06
看起来您使用的是来自NGINX本身的库伯内特斯,而不是进气口-,后者是社区nginx入口控制器。
如果您看到kubernetes的支持的ConfigMap密钥 -ingress,则不支持任何gzip选项。如果您看到了入口-nginx的ConfigMap选项,您将看到可以配置的所有gzip键。
尝试切换到社区 nginx入口控制器。
更新:
您还可以使用配置-片段注释来完成它:
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "X-Forwarded-Host-Test: US";
more_set_headers "X-Using-Nginx-Controller: true";
more_set_headers "X-Country-Name: UK";
more_set_headers "Header: Value";
...发布于 2019-04-08 13:34:51
使用导入规则注释。
Example:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "server: hide";
more_set_headers "X-Content-Type-Options: nosniff";
more_set_headers "X-Frame-Options: DENY";
more_set_headers "X-Xss-Protection: 1";
name: myingress
namespace: default
spec:
tls:
- hosts:我使用了nginx服务器1.15.9
发布于 2019-01-08 10:38:55
下一代: nginx社区控制器=> =>
控制器=> nginx/ nginx -ingress:edge (如docs中所示)
社区=>代理-集标头的自定义头configmap:“nginx-ingress/定制-头”
用于kubernetes => add- headers的自定义标头configmap:“nginx-ingress/定制-头”
https://stackoverflow.com/questions/54083179
复制相似问题