gpt4 book ai didi

php - 服务器发送 FIN、ACK 的时间太长

转载 作者:太空宇宙 更新时间:2023-11-04 10:36:14 24 4
gpt4 key购买 nike

我有一个移动应用程序(捕获的是 186.18.33.118)从 php api (200.80.41.246) 的一些简单的 http 服务器请求数据。

当我从我的应用程序发送请求时,有一分钟无法从发送请求的同一局域网访问网络服务器。

服务器是 Centos 7 apache 和所有更新。

我使用 tcpdump 分析服务器和我的应用程序之间的数据包(下面显示了当我从应用程序请求到服务器以及从我的浏览器到服务器以使用 wireshark 打开之后的捕获)。

我能看到的奇怪的是服务器发送FIN数据包的时间太长,ACK

有什么问题吗?

编辑/添加

Capture with tcpdump

(我如何进行捕获的步骤)

  1. 我在手机上打开了这个应用程序(这个应用程序向安装在服务器 200.80.41.246 上的 wordpress 进行咨询)

  2. 几秒钟后,我尝试从浏览器(从连接到手机的同一个局域网)进入 wordpress

  3. 服务器给我一条消息说:错误超时(接近数据包 45)

  4. 所以我尝试了很多次,大约一分钟后连接正常(靠近数据包 110)

编辑 2

我比较了从浏览器和应用程序到 api 的查询,因为当我从浏览器发出请求时不会带来问题,我发现的区别是浏览器发送了一个 RST 数据包,应用程序不发送。下面我留个图,上面是浏览器的query,下面是app的query。

analyzed capture by wireshark

有什么建议吗?

最佳答案

在分析 Linux 中的连接配置时,我发现了两个允许重用以前关闭的连接的参数,这些参数已启用。当我想从另一台具有相同公共(public) IP 的设备访问时,在打开的连接发生冲突并且会有新的连接时,禁用现在可以正常工作。

参数是:
net.ipv4.tcp_tw_recycle
net.ipv4.tcp_tw_reuse
他们是 1(启用)

禁用执行命令
sysctl net.ipv4.tcp_tw_recycle = 0
Sysctl net.ipv4.tcp_tw_reuse = 0

关于php - 服务器发送 FIN、ACK 的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37382473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com