我正在使用带有 Web 服务器 (Nginx) 的 Ubuntu。我注意到一个 IP 已打开多个连接。我的服务器运行正常,没有任何问题。
我只是好奇为什么一个 IP 打开了这么多连接?我能看到该 IP 每个连接执行了哪些操作吗?
我使用这个命令来获取每个 IP 的总连接数:
netstat -na | grep tcp | awk '{print $5}' | cut -f 1 -d : | sort | uniq -c | sort -n
它给出如下输出:
1 xxx
14 yyy
18 zzz
其中xxx
、yyy
、 和zzz
是 IP 地址。为什么一个 IP 需要在服务器上创建多个连接?
我知道我可以使用 iptables 限制每个 IP 只能连接 1 个。这些用户很可能遇到一些互联网问题,他们刷新页面,服务器会为他们创建一个新连接,而不会关闭之前的连接。在这种情况下,限制每个 IP 的连接可能会给用户带来一些问题。
在打开新连接之前可以关闭以前的连接吗?
PS:连接在端口 80 上
答案1
网络服务器只需提供纯 HTML 而不提供 cookie、图片、视频、声音、JavaScript、广告等的时代早已过去了。
如今,一个页面由多个元素组成,这些元素可以同时下载,以便页面呈现速度更快。
那些是您看到的多个 IP 连接。您可以限制它们,你的服务器会变得更快,但客户端从你的服务器加载页面的速度会变慢,所以你可以做到这一点,但这是一个坏主意......