nginx 1.16.0 发布

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

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

  • 添加了在 ' 指令中使用变量的功能ssl_certificate' 和 'ssl_certificate_key',可用于动态加载证书;
  • 添加了从变量加载 SSL 证书和密钥而无需使用中间文件的功能;
  • 在区块“上游» 实施新指令 «随机“,借助它,您可以通过随机选择服务器来转发连接来组织负载平衡;
  • 在模块中 ngx_stream_ssl_preread 变量实施 $ssl_preread_protocol,
    它指定客户端支持的 SSL/TLS 协议的最高版本。 该变量允许 创建配置 在使用 http 和 Stream 模块代理流量时,通过一个网络端口使用各种带或不带 SSL 的协议进行访问。 例如,要通过一个端口组织通过 SSH 和 HTTPS 的访问,可以默认将端口 443 转发到 SSH,但如果定义了 SSL 版本,则转发到 HTTPS。

  • 上游模块中添加了一个新变量“$upstream_bytes_sent”,显示传输到组服务器的字节数;
  • 至模块 在一个会话中,添加了处理来自客户端的多个传入 UDP 数据报的能力;
  • 该指令“代理请求",指定从客户端接收到的数据报的数量,达到该数量后,客户端与现有 UDP 会话之间的绑定将被删除。 接收到指定数量的数据报后,从同一客户端接收到的下一个数据报开始新的会话;
  • Listen 指令现在能够指定端口范围;
  • 添加指令“ssl_early_data» 启用该模式 0-RTT 使用 TLSv1.3 时,它允许您保存先前协商的 TLS 连接参数,并在恢复先前建立的连接时将 RTT 数量减少到 2;
  • 添加了新指令来配置传出连接的 keepalive(启用或禁用套接字的 SO_KEEPALIVE 选项):

  • 在指令中“限制_请求” 添加了一个新参数“delay”,该参数设置了延迟冗余请求的限制;
  • 新指令“keepalive_timeout”和“keepalive_requests”已添加到“upstream”块中,以设置 Keepalive 的限制;
  • “ssl”指令已被弃用,取而代之的是“listen”指令中的“ssl”参数。 现在,当在设置中使用带有“ssl”参数的“listen”指令时,可以在配置测试阶段检测到丢失的 SSL 证书;
  • 当使用reset_timedout_connection指令时,当超时到期时,连接将被关闭,并显示444代码;
  • SSL 错误“http 请求”、“https 代理请求”、“不支持的协议”和“版本太低”现在显示在日志中,级别为“info”而不是“crit”;
  • 使用Windows Vista及更高版本时增加了对Windows系统上poll方法的支持;
  • 使用的可能性 TLSv1.3 使用 BoringSSL 库(而不仅仅是 OpenSSL)构建时。

来源: opennet.ru

添加评论