首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone OS 11_3 http连接洪水

iPhone OS 11_3 http连接洪水
EN

Server Fault用户
提问于 2018-09-01 13:00:55
回答 1查看 136关注 0票数 1

我一直试图将最大TCP连接限制在来自同一个IP的我的服务器的端口80。我已将iptable用于此任务:

代码语言:javascript
复制
-A INPUT -p tcp --dport 80 -m conntrack --ctstate ESTABLISHED -m connlimit --connlimit-above 24 --connlimit-mask 32 -j LOG_THROT

该规则将数据包发送到我的LOG_THROT链,并在其中记录它们并重置连接。

问题在于,所有登录的IP(超过24条并行http连接规则)和apache的访问日志中找到的IP似乎都是合法的用户,它们来自google,来自标准移动ISP的vodafone等。他们的共同之处是用户代理,而且是:

Mozilla/5.0 ( iPhone;CPU iPhone OS 11_3,类似Mac ) AppleWebKit/605.1.15 (KHTML,类似壁虎)版本/11.0Mobile/15E148Safari/604.1

我想知道新的OS/浏览器是否比标准的6并行conns有更高的限制,它是否使用了在网站上找到的链接的某种预装并产生额外的连接,或者它是某种欺骗UA的爬虫?

如果它是合法的,你对安全连接计数限制有什么建议? 50,100?

EN

回答 1

Server Fault用户

发布于 2018-09-05 01:51:25

这件事解决了。不过,答案与最佳解决方案不同。最好的解决办法是由prosti来回答。

正在发生的情况是,前面提到的Safari/iOS没有重用,保持活跃的连接。原因可能很多,互联网上充斥着关于这个话题的不同答案,甚至可能是他们最新版本中一个不受欢迎的特性。苹果论坛在这个话题上是没用的。

因此,对于它必须从网站加载的每一项资产,它都会产生一个新的连接,但是服务器使康涅狄格服务器保持X秒的存活时间,最终达到iptables规则的阈值。

帮助我的解决方案是在httpd.conf中添加BrowserMatch指令,该指令与所有iphone/ipod设备匹配,并关闭对它们的保持活力支持。

代码语言:javascript
复制
BrowserMatch "iPhone|iPad|iPod" nokeepalive

就最大连接而言,Safari可以生成,我发现在某些错误情况下,它将高达15000!( https://www.wiktorzychla.com/2017/06/http2-keep-alive-and-safari-browsers.html )。但在正常情况下,每个域的值为4-8,或从以下统计数据判断为15-30分片:http://www.browserscope.org/?category=network&ua=Safari*&v=3。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/928970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档