nginx 1.18.0 发布

经过一年的发展 提出 高性能 HTTP 服务器和多协议代理服务器的新稳定分支 nginx 1.18.0,吸收了主分支 1.17.x 中积累的变化。 未来,稳定分支1.18中的所有变化都将与消除严重错误和漏洞有关。 nginx 1.19的主分支即将形成,新功能的开发将在其中继续进行。 对于没有确保与第三方模块兼容的任务的普通用户来说, 建议 使用主分支,在此基础上每三个月形成一次商业产品 Nginx Plus 版本。

依据 四月报告 Netcraft nginx 在所有活跃站点中的使用率为 19.56%(一年前为 20.73%,两年前为 21.02%),相当于该类别中受欢迎程度的第二位(Apache 的份额相当于 27.64%,Google 为 10.03%,Microsoft IIS - 4.77%)。 与此同时,在考虑所有站点时,nginx 保持了领先地位,占据了 36.91% 的市场份额(一年前为 27.52%),而 Apache 的份额为 24.73%,微软 IIS - 12.85%,谷歌 - 3.42%。

在全球访问量最大的百万个网站中,nginx 的份额为 25.54%(一年前为 26.22%,两年前为 23.76%)。 目前,大约有 459 亿个网站正在运行 Nginx(一年前为 397 亿个)。 经过 数据 在访问量最大的 3 万个网站中,有 31.9% 的网站使用了 W41.8Techs nginx,去年 38 月这一数字为 43.6%,前年为 38.9%(下降的原因是 Cloudflare http 服务器转向单独核算)。 Apache 的份额在这一年里从 8.6% 下降到 8.3%,微软 IIS 的份额从 XNUMX% 下降到 XNUMX%。 在俄罗斯 nginx 使用 78.9% 的访问量最大的网站(一年前为 81%)。

1.17.x 上游分支开发过程中添加的最显着的改进:

  • 添加指令 limit_req_dry_run,激活试运行模式,其中对请求处理的强度不施加任何限制(无速率限制),但继续考虑超出共享内存限制的请求数量;
  • 添加指令 limit_conn_dry_run,将 ngx_http_limit_conn_module 模块切换到测试运行模式,其中连接数不受限制,但会被考虑在内;
  • 添加指令“授权延迟”,它允许您为响应代码为 401 的未授权请求添加延迟,以降低密码猜测的强度并防止 攻击,在访问受限的系统时操纵操作执行时间的测量(定时攻击) 密码, 子查询的结果 или 智威汤逊 (JSON 网络令牌);
  • 添加了对“limit_rate”和“limit_rate_after”指令以及流模块的“proxy_upload_rate”和“proxy_download_rate”指令中变量的支持;
  • 在指令中 grpc_pass 添加了对在定义地址的参数中使用变量的支持。 如果地址被指定为域名,则在所描述的服务器组中搜索该名称,如果没有找到,则使用解析器确定;
  • 添加了新变量 $proxy_protocol_server_addr и $proxy_protocol_server_port,其中包含从PROXY协议头获取的服务器地址和端口;
  • 在模块中 ngx_stream_limit_conn_模块 添加变量 $limit_conn_status,存储限制连接数的结果:PASSED、REJECTED 或 REJECTED_DRY_RUN;
  • 在模块中 ngx_http_limit_req_module 添加变量 $limit_req_status,存储限制请求到达速率的结果:PASSED、DELAYED、REJECTED、DELAYED_DRY_RUN 或 REJECTED_DRY_RUN;
  • 默认情况下,模块已组装 ngx_http_postpone_filter_module;
  • 添加了对使用内置 Perl 解释器提供的 $r->internal_redirect() 方法切换命名“location”块的支持。 该方法现在涉及处理带有转义字符的 URI;
  • 在“upstream”设置块中使用“upstream”指令时哈希» 为了通过客户端-服务器绑定组织负载平衡,如果指定空键值,则现在激活统一平衡模式(循环);
  • 添加了对调用 ioctl(FIONREAD) 的支持(如果可用)以避免随着时间的推移从快速连接中读取。

来源: opennet.ru

添加评论