gpt4 book ai didi

oracle - Kubernetes 负载均衡器 Oracle Cloud NGINX 入口 Controller 问题

转载 作者:行者123 更新时间:2023-12-04 22:39:37 28 4
gpt4 key购买 nike

第一篇关于堆栈溢出的帖子,希望我能得到一些帮助:)
我已经挣扎了一段时间试图让它发挥作用。
所以基本上我在 Oracle Cloud 中有 kubernetes 集群。
我正在使用 nginx 入口 Controller + 证书管理器来获取证书。
当我部署 nginx 入口 Controller 时,Oracle Cloud 为我提供了负载均衡器。
所以我们来解决我的问题。默认情况下,负载均衡器使用 TCP 协议(protocol)在云中获取监听器(这里是图片)
TCP Listener
在 kubernetes 服务(nginx 入口 Controller )中,协议(protocol)也是 tcp。
使用此设置时,一切正常。
我也在使用 SNI(一个端点上的多个服务)。
但是 Oracle Cloud 提供了只能与 http 监听器一起使用的 WAF(还有一张图片)
Http listener .
因此,如果我打算使用 WAF,我需要在负载均衡器上设置这个 http 监听器。
这是 nginx 入口服务图片,您可以在其中看到协议(protocol)是 TCP。
TCP nginx ingress service
当我将监听器更改为 http.当我尝试在浏览器上打开它时,我的域出现此错误“ERR_SSL_PROTOCOL_ERROR”。
我尝试了很多事情,包括更改 nginx 入口 Controller 的配置、添加注释等。

nginx.ingress.kubernetes.io/backend-protocol: HTTP
nginx.ingress.kubernetes.io/ssl-passthrough: 'true'
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
但没有任何效果我总是得到“ERR_SSL_PROTOCOL_ERROR”。
所以我不知道这是否可能,我的意思是在 tcp 协议(protocol)(nginx 入口服务)上是否有 http 监听器?
任何意见,将不胜感激。
先感谢您。

最佳答案

OCI TCP 听众 HTTP 作为 HTTPS 或 SSL 直通支持的监听器。
您可以先创建自签 SSL 证书 如果您将其附加到 等级。
如果您正在使用 cert-manager 并将其保存到一个很好的 secret 中,您也可以遵循它。
您可以转到 LoadBalancer 并将协议(protocol)或监听器更改为 HTTP 而不是 TCP 手动并将证书附加到 443 端口 如果您遵循该方法(就像我一样)。
下一个
转至 Nginx 入口 Controller 服务器 并编辑它并更改 的目标端口443 http
enter image description here
enter image description here
现在在您的应用入口配置中,您可以使用 注释 它将正常工作而不会出现 400 Bad request 的错误或 HTTP requested on HTTPS港口

nginx.ingress.kubernetes.io/backend-protocol: HTTPS
nginx.ingress.kubernetes.io/ssl-passthrough: 'true'
nginx.ingress.kubernetes.io/ssl-redirect: 'true'

关于oracle - Kubernetes 负载均衡器 Oracle Cloud NGINX 入口 Controller 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71495249/

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