我正在使用 kubernetes ingress-nginx这是我的 Ingress 规范。 http://example.com按预期工作正常。但是当我去https://example.com它仍然有效,但指向带有假入口 Controller 证书的默认后端。如何禁用此行为?我想在这个特定的入口上完全禁用对 https 的监听,因为没有配置 TLS。
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: http-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: example.com
http:
paths:
- backend:
serviceName: my-deployment
servicePort: 80
我试过这个
nginx.ingress.kubernetes.io/ssl-redirect: "false"
注解。然而,这没有效果。
最佳答案
我不知道 ingress-nginx configmap值或入口 annotation轻松禁用TLS。
您可以从入口 Controller 服务定义中删除端口 443。
删除 https
条目来自 spec.ports
大批
apiVersion: v1
kind: Service
metadata:
name: mingress-nginx-ingress-controller
spec:
ports:
- name: https
nodePort: NNNNN
port: 443
protocol: TCP
targetPort: https
nginx 仍将监听 TLS 端口,但集群外的客户端将无法连接到它。
关于nginx - Kubernetes ingress-nginx - 如果未配置 TLS,如何禁用 https 监听?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56302606/