gpt4 book ai didi

ssl - 由于 LB 运行状况检查,Vault 节点中的连续 TLS 握手错误日志

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

由于我的负载平衡器每 5 秒 ping 一次保管库节点,我每 5 秒收到一次连续的 TLS 握手错误。 Kube 负载均衡器正在使用 ping 我的 vault 节点nc -vz podip podPort每 5 秒
我已经在我的 config.hcl 中禁用了客户端证书验证,但仍然在我的 kubectl 日志中看到以下日志以用于保管库

kubectl logs pod-0 -n mynamespace 
[INFO] http: TLS handshake error from 10.x.x.x:60056: EOF 2020-09-02T01:13:32.957Z
[INFO] http: TLS handshake error from 10.x.x.x:23995: EOF 2020-09-02T01:13:37.957Z
[INFO] http: TLS handshake error from 10.x.x.x:54165: EOF 2020-09-02T01:13:42.957Z
下面是我通过 kube config map 加载的 config.hcl


apiVersion: v1
kind: ConfigMap
metadata:
name: raft-config
labels:
name: raft-config
data:
config.hcl: |
storage "raft" {
path = "/vault-data"
tls_skip_verify = "true"
retry_join {
leader_api_addr = "https://vault-cluster-0:8200"
leader_ca_cert_file = "/opt/ca/vault.crt"
leader_client_cert_file = "/opt/ca/vault.crt"
leader_client_key_file = "/opt/ca/vault.key"
}
retry_join {
leader_api_addr = "https://vault-cluster-1:8200"
leader_ca_cert_file = "/opt/ca/vault.crt"
leader_client_cert_file = "/opt/ca/vault.crt"
leader_client_key_file = "/opt/ca/vault.key"
}
retry_join {
leader_api_addr = "https://vault-cluster-2:8200"
leader_ca_cert_file = "/opt/ca/vault.crt"
leader_client_cert_file = "/opt/ca/vault.crt"
leader_client_key_file = "/opt/ca/vault.key"
}
}
seal "transit" {
address = "https://vaulttransit:8200"
disable_renewal = "false"
key_name = "autounseal"
mount_path = "transit/"
tls_skip_verify = "true"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_cert_file = "/opt/ca/vault.crt"
tls_key_file = "/opt/ca/vault.key"
tls_skip_verify = "true"
tls_disable_client_certs = "true"
}
ui=true
disable_mlock = true
由于我使用的是外部开源库镜像并且我的负载均衡器是内部 LB(具有内部 CA 证书)。我怀疑我的保管库 pod 在尝试 ping 端口 8200 时无法识别负载均衡器提供的 CA 证书(TCP 监听器由保管库在此端口上启动)
这些日志是无害的,不会引起任何问题,但它们是我想避免的不必要的噪音。我的保管库节点正在使用 https,它们的功能似乎没有问题。
有人可以帮助理解为什么 vault TCP 监听器尝试进行 TLS 握手,即使我已明确指定 tls_disable_client_certs = "true"当我的 LB 尝试使用 nc -vz podip podPort 对我的 pod 进行健康检查时,这些日志再次每 5 秒淹没我的 pod。
我的保险库版本是 1.5.3

最佳答案

这些消息与客户端证书或 CA 证书无关,无论客户端是否提供证书,都会发生 TLS 握手。
相反,这是因为创建并建立了 TCP 连接,而 Go 库现在想要启动 TLS 握手。相反,另一端(健康检查器)只是挂断,TLS 握手从未发生。 Go 然后记录此消息。
你说它是无害的是正确的,这纯粹是端口事件健康检查的副作用。然而,它是垃圾邮件和烦人的。
你有两个基本的选择来解决这个问题:

  • 在持久化日志时将消息从日志中过滤掉
  • 更改为不同类型的健康检查

  • 我会推荐第二个选项: 切换到不同的健康检查 .保险柜有一个 /sys/health可与 HTTPS 健康检查一起使用的端点。
    除了摆脱 TLS 警告消息之外,健康端点还允许您检查事件和未密封的节点。

    关于ssl - 由于 LB 运行状况检查,Vault 节点中的连续 TLS 握手错误日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63729283/

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