经过一年的发展
依据
在全球访问量最大的百万个网站中,nginx 的份额为 25.54%(一年前为 26.22%,两年前为 23.76%)。 目前,大约有 459 亿个网站正在运行 Nginx(一年前为 397 亿个)。 经过
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