我在我的服务器上配置了Nginx和Apache。nginx服务器侦听端口80,Apache侦听端口81。Nginx充当反向代理。在nginx中,我配置了TCP快速打开:
server {
listen 107.6.155.74 fastopen=50;
server_name servtest.com www.servtest.com;在服务器本身上还启用了TCP快速打开:
root@server:~/projects/nginx# cat /proc/sys/net/ipv4/tcp_fastopen
3为了测试这是否有效,我在运行Ubuntu的PC上配置了Chrome,使其使用test (chrome://标志页)。客户端上的tcp_fastopen设置设置为1。
在服务器上,我使用以下grep查找是否使用了TCP快速打开:
grep '^TcpExt:' /proc/net/netstat | cut -d ' ' -f 87-92 | column -t
TCPOFOMerge TCPChallengeACK TCPSYNChallenge TCPFastOpenActive TCPFastOpenPassive TCPFastOpenPassiveFail
0 2 2 0 0 0我认为如果这样做的话,TCPFastOpenActive和/或TCPFastOpenPassive计数器不应该是"0“。有什么想法,如何才能真正找到TCP快速开放是否使用和工作的预期?如果需要提供更多的信息,请告诉我。
发布于 2017-01-23 16:33:42
我在https://github.com/yuryu/tfoecho上使用TCP快速打开测试代码进行了一些测试
使用测试代码时,我的计数TCPFastOpenPassive确实会上升。
$ grep '^TcpExt:' /proc/net/netstat | cut -d ' ' -f 87-92 | column -t
TCPOFOMerge TCPChallengeACK TCPSYNChallenge TCPFastOpenActive TCPFastOpenActiveFail TCPFastOpenPassive
1000 56217 1316 0 0 2041所以我认为你的分析方法是正确的。
运行wireshark,您可以清楚地看到TCP选项下的快速打开Cookie。
我用铬和Nginx对同一对机器进行了测试。
铬版:
版本55.0.2883.75构建在Debian拉伸/sid上,运行在Debian拉伸/sid上(64位)
在wireshark的痕迹中没有快速打开的曲奇。即使在铬中启用了快速打开选项。所以我怀疑问题在于铬。
https://serverfault.com/questions/686478
复制相似问题