【问题标题】:dropped connection with TLS与 TLS 断开连接
【发布时间】:2019-05-18 01:44:31
【问题描述】:

我有这个连接到 TLS 服务器的命令:

openssl s_client -connect ec2-xx-xx-xx-xx.us-west-1.compute.amazonaws.com:4004 -reconnect -CAfile ryans-cert.pem

我收到了大约 4 条这样的消息:

drop connection and then reconnect
CONNECTED(00000005)

然后它将最终连接。 有人知道为什么要重试几次吗?

【问题讨论】:

    标签: ssl https openssl


    【解决方案1】:

    openssl s_client 的-reconnect 选项尝试重新连接到同一个服务器 5 次。

    这主要是为了检查上述服务器是否支持 SSL/TLS 的Session Resumption 功能。支持会话恢复功能的方法之一是在服务器上启用会话缓存。此选项检查是否在服务器上启用了会话缓存。

    请参阅RFC 5246 (TLS 1.2),以更详细地了解 TLS 会话恢复的工作原理。

    【讨论】:

    • 所以重新连接总是会重新连接 5 次?它似乎不适用于本地运行的服务器,只有远程服务器
    • openssl s_client 总是重新连接 5 次。他们的文档中也提到了这一点。不知道为什么它不对本地运行的服务器执行此操作(假设您的测试是正确的)。甚至本地客户端的服务器也应该支持会话恢复,从这个角度来看,它应该得到支持。
    【解决方案2】:
    openssl s_client  ... -reconnect ...
    ...
    drop connection and then reconnect
    CONNECTED(00000005)
    

    有人知道为什么要重试几次吗?

    来自the documentation of s_client

    -重新连接
    使用相同的会话 ID 重新连接到同一台服务器 5 次,这可以用作测试会话缓存是否正常工作。

    因此,您看到的重试是您使用 -reconnect 明确要求的。

    【讨论】:

    • 测试会话缓存是否正常工作有多重要?为什么它只对远程连接而不是对本地主机的连接这样做?
    • @MrCholo:我不知道您是如何测试的,但 -reconnect 即使在连接到 localhost 时也会执行其记录的行为,我刚刚尝试过。关于会话缓存重要性的问题超出了您的原始问题,即是一个新问题,不应在评论中提出。但简而言之:它与延迟(SSL 握手的往返次数减少一次)和计算成本方面的性能相关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2019-07-28
    • 1970-01-01
    • 2022-10-16
    • 2021-10-31
    • 2013-12-16
    相关资源
    最近更新 更多