我在 Debian VPS(xen domU)上遇到了与 SSL 相关的问题。也就是说,几乎所有 SSL 连接都会在客户端 hello 时挂起。例如:
# curl -vI https://graph.facebook.com
- 即将连接()到 graph.facebook.com 端口 443 (#0)
- 正在尝试 66.220.146.48... 已连接
- 已连接到 graph.facebook.com (66.220.146.48) 端口 443 (#0)
- 成功设置证书验证位置:
- CAfile:无 CApath:/etc/ssl/certs
- SSLv3、TLS 握手、客户端问候 (1):
使用 openssl 客户端时也一样。但是,部分 SSL 流量可以正常工作(例如https://www.nordea.se)。
服务器
#uname -a
Linux server.com 2.6.26-1-xen-amd64 #1 SMP Fri Mar 13 21:39:38 UTC 2009 x86_64 GNU/Linux
但它确实在我的 Dom 0(主 xen 主机)上运行。
apt-get - 轻松获取
我甚至无法使用 debian 安全源运行 apt-get update(读取标题时挂起)
打开 SSL
一开始我以为我有一个旧的 openssl 客户端(0.9.8o-4),因为我似乎在 Dom 0 上有一个较新的版本(0.9.8g-15+lenny8),但在 openssl deb 上进行手动更新并没有帮助。
打开 SSL 客户端
这是 openssl 客户端挂起时的完整输出:http://pastebin.com/PAjwMap9
结束语
我已经用 Google 搜索了这个问题,但没有任何进展。我见过 curl、apt-get 等的问题,但它们都与应用程序有关,而不是系统通用的。有什么想法吗?
答案1
经过与我的托管提供商反复讨论,结果发现我的 DomU 使用的 IP 链(但不是 Dom0)存在 MTU 问题。我想感谢所有在此过程中帮助过我的人,你们的帮助非常宝贵 :)
答案2
答案3
尝试:
$sudo apt-get --reinstall install openssl libssl0.9.8
答案4
我会尝试使用 openssl s_client 并给它一个随机文件(“任何”文件)只是为了检查问题是否与 /dev/random|urandom 有关,正如 Ben 所说:
openssl s_client -state -connect graph.facebook.com:443 -rand anyfile
请注意,从加密角度来看,以这种方式使用文件非常危险,因此在投入生产之前请务必找到其他解决方案。