如何在linux中查找连接超时值?

如何在linux中查找连接超时值?

我正在设置一个带有 php-fpm 和 (d)dos deflate 的 nginx 网络服务器来禁止攻击。

现在,我的服务器根本没有流量,因为我正在测试。

使用此命令,我可以看到谁连接到了我的服务器,以及他们打开了多少个连接:

netstat -ntu | awk'{print $5}'| cut -d: -f1 | sort | uniq -c | sort -n

在测试期间,我注意到当我加载测试脚本时,它基本上<?php phpinfo(); ?>会启动 3 个连接。我猜 1 个用于 HTML,2 个用于该页面上的 2 张图片。到目前为止一切都很好...

但我注意到这 3 个连接关闭花了一分钟多的时间。我继续运行上述 netstat 命令,看看这 3 个外部连接是否会关闭。

我的 nginx.conf 的保持活动超时时间为 4。

  keepalive_timeout       4;

该连接是通过默认设置的 Chrome 浏览器建立的。

这些连接为什么保持打开状态这么久?这是正常的吗?还有,有什么方法可以更快地关闭它们吗?

答案1

您可以使用目录 /proc/sys/net/ipv4/ 上的文件 tcp_keepalive_time 来增加或减少 TCP 套接字的超时时间。

默认超时值为 7200(2 小时)。

例如,要更改为 1200 秒,请发出以下命令:

#echo 1200 > /proc/sys/net/ipv4/tcp_keepalive_time

相关内容