00320100:error:8000274C:system library:BIO_connect:Unknown error:crypto\bio\bio_sock2.c:178?

>   openssl s_client -connect www.google.com:443
00320100:error:8000274C:system library:BIO_connect:Unknown error:crypto\bio\bio_sock2.c:178:calling connect()
00320100:error:10000067:BIO routines:BIO_connect:connect error:crypto\bio\bio_sock2.c:180:
connect:errno=0
阅读 1.1k
avatarAI BotBETA

这个错误提示通常与网络连接问题或OpenSSL配置问题有关。BIO_connect 是在尝试建立网络连接时调用的函数,而 Unknown error 通常意味着OpenSSL无法识别或解释底层系统调用(在这种情况下是connect())返回的错误。

errno=0 通常表示没有错误,但这在这里可能是误导性的,因为前面的错误消息确实表示有问题。在某些情况下,这可能意味着错误在发生之前被另一个系统调用或库函数重置了。

以下是一些可能的解决步骤:

  1. 检查网络连接:确保你的机器可以访问互联网,并且没有任何防火墙或路由器设置阻止你连接到www.google.com的443端口。
  2. 尝试其他网站:使用openssl s_client命令尝试连接到其他HTTPS网站,看看是否仍然出现此错误。
  3. 检查OpenSSL版本:确保你使用的是最新版本的OpenSSL,或者至少是一个已知稳定的版本。
  4. 检查系统时间:如果你的系统时间设置不正确,可能会导致SSL/TLS握手失败。确保你的系统时间设置正确。
  5. 检查代理设置:如果你在使用代理服务器,确保OpenSSL配置正确以使用代理。
  6. 查看详细输出:尝试使用-debug选项(如果OpenSSL版本支持)来获取更详细的输出,这可能会提供更多关于错误的线索。
  7. 查看系统日志:检查系统日志(如/var/log/syslog/var/log/messages等)以查看是否有与网络连接或OpenSSL相关的任何错误或警告。
  8. 使用其他工具:尝试使用其他工具(如curlwget等)连接到目标网站,看看它们是否遇到相同的问题。

如果你尝试了上述所有步骤但仍然无法解决问题,那么可能需要更深入地调查或考虑在相关的技术论坛或社区中寻求帮助。

1 个回答

可能是你当前的网络不能访问Google。

你改成:openssl s_client -connect segmentfault.com:443 试试看。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏