经过一年的发展
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 选项):
- «
proxy_socket_keepalive " - 配置到代理服务器的传出连接的“TCP keepalive”行为; - «
fastcgi_socket_keepalive " - 配置与 FastCGI 服务器的传出连接的“TCP keepalive”行为; - «
grpc_socket_keepalive " - 配置与 gRPC 服务器的传出连接的“TCP keepalive”行为; - «
memcached_socket_keepalive " - 配置与 memcached 服务器的传出连接的“TCP keepalive”行为; - «
scgi_socket_keepalive " - 配置与 SCGI 服务器的传出连接的“TCP keepalive”行为; - «
uwsgi_socket_keepalive " - 配置与 uwsgi 服务器的传出连接的“TCP 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