如何禁用Kubernetes NGINX Ingress的SSL重定向?
禁用Kubernetes NGINX Ingress默认SSL重定向的方法
嘿,我来帮你搞定这个问题!NGINX Ingress Controller默认确实会自动把HTTP请求重定向到HTTPS,要在你当前的Ingress配置里禁用这个行为,只需要加一个专门的注解就行。
具体操作步骤:
- 在Ingress的
metadata.annotations字段中加入nginx.ingress.kubernetes.io/ssl-redirect: "false" - 注意这里的值必须是带双引号的字符串"false",YAML对布尔值的解析偶尔会有小坑,用字符串形式能避免意外问题
修改后的完整Ingress配置:
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: project_name-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/ssl-redirect: "false" # 新增的禁用SSL重定向注解 spec: rules: - http: paths: - path: / backend: serviceName: project_name servicePort: 80
额外补充说明:
如果之后你给这个Ingress添加了TLS证书配置(也就是spec.tls部分),NGINX Ingress会默认强制开启SSL重定向,这时候这个注解就更关键了——必须显式设置为"false"才能阻止自动重定向。
要是你需要全局禁用所有Ingress的默认SSL重定向,可以修改NGINX Ingress Controller的ConfigMap,添加ssl-redirect: "false"配置项,但看你的需求应该是针对单个Ingress,所以上面的方法完全够用。
内容的提问来源于stack exchange,提问作者Will Squire
相关产品推荐
相关产品推荐

