gpt4 book ai didi

ssl - 不要在前面加上 http ://to Endpoint Subset IP

转载 作者:行者123 更新时间:2023-12-04 22:38:36 25 4
gpt4 key购买 nike

我有一个 Kubernetes Ingress,指向一个 headless 服务,最终指向一个路由到外部 IP 地址的 Endpoints 对象。以下是端点的配置

apiVersion: v1
kind: Endpoints
metadata:
name: my-chart
subsets:
- addresses:
- ip: **.**.**.**
ports:
- port: 443

但是,上游连接因“对等方重置连接”而失败,并且在查看日志时,我在 Kubernetes nginx-ingress-controller 中看到以下错误:
2020/01/15 14:39:50 [error] 24546#24546: *240425068 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: *****, server: dev.somehost.com, request: "GET / HTTP/1.1", upstream: "http://**.**.**.**:443/", host: "dev.somehost.com"

我的理论是 http://和 443 端口的组合触发了这个(用 cURL 命令测试)。我该如何 1) 为端点对象指定不同的协议(protocol)或 2) 只是防止 http://

补充说明:
1)在目标IP上启用了SSL,如果我 curl 它,我可以建立一个安全连接
2) SSL 直通在这里实际上不起作用。传入和传出请求将使用具有两个不同证书的两个不同 SSL 连接。
3)我希望 Ingress 主机成为 SNI(看起来这可能默认是这种情况)

编辑:入口 Controller 版本:0.21.0-rancher3

最佳答案

我们能够通过将以下内容添加到 Ingress 的元数据中来解决这个问题

  annotations:
nginx.ingress.kubernetes.io/backend-protocol: HTTPS
nginx.ingress.kubernetes.io/configuration-snippet: |-
proxy_ssl_server_name on;
proxy_ssl_name $host;

第一个命令为后端协议(protocol)打开 HTTPS,第二个命令启用 SNI

关于ssl - 不要在前面加上 http ://to Endpoint Subset IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59754860/

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