Ale*_*lke 5 linux slow-connection tls
我有一台通常工作正常的服务器,但在尝试使用 SSL 连接时卡住了 20 秒(SSH 或 HTTPS 显示相同的模式。)
我尝试了各种不使用 SSL 的连接,例如 telnet:
telnet server-name 80
Run Code Online (Sandbox Code Playgroud)
输入 GET 命令
GET http://server-name/
Host: server-name
Accept: text/html, */*
Accept-Language: en-us
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Run Code Online (Sandbox Code Playgroud)
并且回复是100%即时的。
但是,当我尝试在浏览器中通过 HTTPS 连接到服务器,或使用 SSH 连接到同一服务器时,它会在连接之前等待大约 20 秒。
对于 SSH,它将很好地工作(即不再慢)。对于HTTPS,每次重新连接都会很慢。然而,未关闭的连接将继续快速工作。
我正在添加 Firebug 中出现的网络信息的屏幕截图。正如我们所看到的,每次尝试新的连接,需要 20 秒。使用 htop 查看服务器使用情况,CPU 为 0%,当发生某些情况时,CPU 在 1 分钟内会达到 0.01%。使用报告。因此,服务器总体上没有以任何方式挂钩(即,此时它是一个测试服务器,我们还没有受到其他服务器的点击。)
所以我的问题是:什么可能导致如此缓慢?
我想也许 OpenSSL 正在尝试使用 /dev/random,但我以前从未听说过这样的问题。随机设备在该 VPS 上根本不输出太多。然而,/dev/urandom 工作得很好。我可以在几秒钟内获得 1Mb 的随机数据。我可以研究什么来解决这个问题?
/etc/resolv.conf看起来像谷歌 DNS。应该很快...
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
请注意,Apache2 设置本身并不直接重要,因为它也会发生在 SSH 中...
我也尝试过ssh -vvv。连接是即时的。
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /home/alexis/.ssh/config
debug1: /home/alexis/.ssh/config line 202: Applying options for do-nia2match
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Hostname has changed; re-reading configuration
debug1: Reading configuration data /home/alexis/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 178.62.213.172 [178.62.213.172] port 22.
debug1: Connection established.
...
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/alexis/.ssh/do-nia2match_rsa, explicit
SUPER LONG PAUSE HAPPENS HERE (~20s)
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred publickey,keyboard-interactive
debug3: authmethod_lookup publickey
...
Run Code Online (Sandbox Code Playgroud)
我不太清楚为什么发送密钥时 SSH 服务器会挂起 20 秒......
我发现(早先\xe2\x80\x94参见评论)我阻止了除 127.0.0.1 地址之外的所有 127.0.0.0。
\nDebian 和 Ubuntu/etc/hosts在 127.0.1.1 中使用您的域名定义了一个条目。您应该在文件的开头看到类似这样的内容/etc/hosts:
127.0.1.1 hostname.example.com hostname\nRun Code Online (Sandbox Code Playgroud)\n我必须检查我的防火墙,实际上我决定打开所有 127.xxx,因为所有这些都是专用网络的一部分,而且这些都是安全的 IP。以下是此类规则的示例:
\n-A INPUT -i lo -s 127.0.0.0/8 -j ACCEPT\nRun Code Online (Sandbox Code Playgroud)\n这/8意味着该0.0.0部分可以是任意数字。
| 归档时间: |
|
| 查看次数: |
14177 次 |
| 最近记录: |