gpt4 book ai didi

docker - 使用 Nginx Ingress Controller 配置端到端 SSL

转载 作者:行者123 更新时间:2023-12-02 12:26:47 25 4
gpt4 key购买 nike

我正在运行本地部署并尝试将 HTTPS 流量重定向到我的后端 pod。我不希望在 Ingress 级别终止 SSL,这就是我没有使用任何 tls secret 的原因。

我正在容器中创建一个自签名证书,Tomcat 通过选择它并在 8443 上公开来启动。

这是我的 Ingress 规范

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress-name
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
#nginx.ingress.kubernetes.io/service-upstream: "false"
kubernetes.io/ingress.class: {{ .Values.global.ingressClass }}
nginx.ingress.kubernetes.io/affinity: "cookie"
spec:
rules:
- http:
paths:
- path: /myserver
backend:
serviceName: myserver
servicePort: 8443

我以不同的组合使用了上述注释,但我仍然无法连接到我的 pod。

我的服务路线

# service information for myserver
service:
type: ClusterIP
port: 8443
targetPort: 8443
protocol: TCP

我确实看到了一些关于这个建议注释的答案,但这似乎对我不起作用。提前致谢!

编辑:唯一可以远程工作的是当我将入口值重写为

nginx-ingress:
controller:
publishService:
enabled: true
service:
type: NodePort
nodePorts:
https: "40000"

这确实启用了 https,但它从容器中获取了 kubernetes 的假证书,而不是我的证书

编辑 2:由于某种原因,ssl-passthrough 不工作。我将其强制执行为

nginx-ingress:
controller:
extraArgs:
enable-ssl-passthrough: ""

当我描述部署时,我可以在 args 中看到它,但是当我检查 kubectl ingress-nginx 后端 时,如 https://kubernetes.github.io/ingress-nginx/kubectl-plugin/#backends 中所述,它说“sslPassThrough:false”

最佳答案

SSL Passthrough 需要在启动时将特定标志传递给 nginx Controller ,因为它在默认情况下处于禁用状态。

SSL Passthrough is disabled by default and requires starting the controller with the --enable-ssl-passthrough flag.

由于 ssl-passthrough 在 OSI 模型的第 4 层而不是在第 7 层 (HTTP) 上工作,因此使用它将使您在入口对象上设置的所有其他注释失效。

因此,在您的部署级别,您已在 args 下指定此标志:

containers:
- name: controller
image: us.gcr.io/k8s-artifacts-prod/ingress-nginx/controller:v0.34.1@sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
exec:
command:
- /wait-shutdown
args:
- /nginx-ingress-controller
- --enable-ssl-passthrough

关于docker - 使用 Nginx Ingress Controller 配置端到端 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62941369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com