Hasty Briefsbeta

双语

Selectively Disabling HTTP/1.0 and HTTP/1.1

4 months ago
  • #HTTP/3
  • #Nginx
  • #Security
  • 该网站在2026年1月启用了HTTP/3协议,但大部分流量仍在使用HTTP/1.X,其中多数为恶意流量。
  • 采用了两种方法选择性禁用HTTP/1.X:仅允许已知可信客户端,或排除预设恶意客户端。
  • Nginx配置变更包括使用map指令创建变量,用于流量放行决策。
  • 方法一:仅允许已知可信客户端(如文本浏览器和主流爬虫)使用HTTP/1.X。
  • 方法二:仅阻止预设恶意客户端(如空UA标识或可疑UA)使用HTTP/1.X。
  • 对不允许的HTTP/1.X请求返回HTTP 426状态码,并通过日志审查调整放行规则。
  • 测试显示成功拦截恶意请求,实施后不良流量显著下降。
  • 作者最初倾向方法一,但最终倾向方法二以兼容更多合法爬虫。
  • 需权衡安全性与可访问性,平衡不同用户和机器人的访问需求。
  • HTTP/1.0已基本淘汰,HTTP/1.1仍在使用但缺乏现代安全特性。