【问题标题】:Repeated logs "client closed connection while SSL handshaking"重复记录“SSL 握手时客户端关闭连接”
【发布时间】:2019-08-07 15:56:06
【问题描述】:

我在我的 kong 容器中看到一些奇怪的日志,它内部使用了 nginx:

2019/08/07 15:54:18 [info] 32#0: *96775 client closed connection while SSL handshaking, client: 10.244.0.1, server: 0.0.0.0:8443

这种情况每 5 秒发生一次,就像某种诊断处于开启状态一样。 在我的 kubernetes 描述符中,我没有设置 ready 或 liveliness 探测,所以我不明白为什么会有这些调用以及如何防止它们出现,因为它们只会弄脏我的日志......

编辑: 似乎是 LoadBalancer 服务:我尝试删除它,但我再也没有日志了……但是如何摆脱这些日志?

【问题讨论】:

    标签: nginx kubernetes kong


    【解决方案1】:

    这已经在 Kong 论坛的Stopping logs generated by the AWS ELB health check 线程中进行了讨论。 每隔几秒使用 lb heathcheck 的行为相同。

    让 Kong 监听普通的 HTTP 端口,只打开该端口到 运行 ELB 的子网(很可能是公共的),然后不要 在 ELB 上打开 80 端口。因此 ELB 将能够在端口 80 上进行通话 健康检查,但不会有可供外部使用的 HTTP 端口 世界。

    在kong中使用L4代理(stream_listen),打开端口并 然后让 ELB 健康检查那个端口。

    这两种方案都是合理的。

    【讨论】:

    • Kong 同时打开了 http 和 https 端口,如何更改默认负载均衡器配置,以便它在 http 上执行健康检查?
    【解决方案2】:

    只需检查连接到您的 nginx 的内容:

    kubectl get po,svc --all-namespaces -owide | grep 10.244.0.1
    

    之后,您应该知道集群内部发生了什么,可能是配置错误的 pod 或某些客户端。

    【讨论】:

    • 好吧,鬼是真的……没有条目有那个 IP,但它仍然在我的日志中并不断打开 SSL 连接
    • 你也检查过服务吗?
    • 是的,无论如何,现在我 100% 确定它是负载均衡器:我创建了另一个具有相同图像的 pod,但没有收到奇怪的日志。很明显,负载均衡器每 5 秒尝试连接到我的 pod,以确保它处于活动状态。..
    • 如果您找到解决方案,请更新,因为我没有想到比更改日志级别更好的了。
    【解决方案3】:

    我在看Nginx的日志时也遇到了这个错误。 我使用Azure云,发现日志中的ip是我的Azure服务器的位置

    我通过在 Azure 门户的 Heath probes 菜单中将 Protocol 选项从 [TCP] 更改为 [HTTPS] 解决了这个问题

    【讨论】:

      猜你喜欢
      • 2021-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 2014-11-13
      • 1970-01-01
      相关资源
      最近更新 更多