NGINX Plus第4版发布公告

NGINX | 2014年7月24日

今天(7月24日),我们完成了过去3个月的开发工作,并发布了NGINX Plus Release 4 (R4)。

NGINX Plus R4整合了近期在开源分支中发布的功能以及多项商业版专属功能,并经过全面测试且提供支持。

端到端安全

面向上游服务器的证书验证和SNI支持可提高不受信任环境中API调用和负载均衡流量的安全性。外部口令存储可提高重要SSL私钥的安全性。

端到端安全是一个关键问题,尤其是在构建跨多个位置的应用时。如果内部流量需要通过开放的互联网(甚至公有云内部)传输,仅使用基本SSL不足以防范简单的中间人(MITM)攻击。此版本(感谢CloudFlare的贡献)新增了上游服务器证书验证,有助于确保NGINX Plus连接到预期的服务器。此外,此版本还新增了上游SNI支持,有助于安全地扩展复杂的上游服务。

SSL/TLS服务器证书验证

内部安全同样重要。许多站点集中存储NGINX Plus配置,但这也带来了如何确保SSL私钥保密的问题。使用口令解密私钥是合适的解决方案,但此前一直很不方便。

NGINX Plus支持使用外部密码短语存储。该存储位于各服务器本地,并与配置分开。这样可确保密钥在配置存储或传输过程中受到保护,并且只有获得授权的服务器才能解密密钥。

改进的负载均衡和缓存

针对NGINX Plus的负载均衡和缓存进行优化并采用新的实践,使其成为功能强大的前端,可用于交付Web应用。

Release 4在现有算法(轮询、IP哈希和最少连接)的基础上新增了一种负载均衡算法:哈希。基于哈希的负载均衡可根据任意请求参数组合(例如源IP地址和端口、URL等)的哈希函数,将流量均匀分配到上游组中的各个服务器。

如果为consistent指令启用可选的hash参数,Hash方法会非常实用。这样即可启用一致性哈希负载均衡(使用ketama负载均衡方法,以实现与memcached的互操作性),这对于缓存服务器和其他会累积状态的应用程序的负载均衡非常有帮助。

上游服务器集合发生变化时,一致性哈希有助于提升性能

使用一致性哈希时,系统会根据用户指定键的哈希值,将请求均匀分配到目标服务器。如果添加或移除服务器(例如因服务器发生故障),系统只会重新分配尽可能小的哈希空间,以尽量减少缓存未命中。为实现均匀分布,NGINX Plus基于ketama的实现会在哈希空间中为每台服务器设置160个点(上图仅显示8个点)。

Release 4还在现有机制(sticky route和sticky cookie)的基础上新增了一种会话亲和机制:sticky learn。该学习机制非常灵活:NGINX Plus可动态学习每台服务器发起的会话,并能识别客户端请求中的会话签名。如果需要精细控制请求在上游组内的路由方式,此功能可用于多种场景。

最后,缓存现在可以更有效地降低上游服务器的负载。缓存重新验证可以使用ETag以及Last-Modified时间戳来检查内容是否发生变化。

监控更轻松,深入查看所需数据

运用筛选和深入分析技术,从日志和监控数据中聚焦所需信息。

NGINX Plus通过access_log及其独有的实时活动监控功能生成大量数据。有时,庞大的数据量可能令人难以应对,收集、存储和分析这些数据的成本可能过高,尤其是对于拥有大量服务和用户的繁忙站点。

条件日志记录到访问日志时,可以指定要记录的相关请求,并忽略不太相关的请求。这对于运行时决策非常有用。例如,可能只想记录产生5xx服务器错误的请求,或忽略来自本地网络的请求,也可能希望剔除外部运行状况监控器生成的无用数据。无论具体需求如何,如果要在运行时筛选和限制日志条目,条件日志记录都能满足这一需求。

在以前的NGINX Plus版本中,请求由扩展状态模块生成的实时活动监控数据时,会返回大量描述当前活动和状态的内部数据。但是,如果只想监控一个计数器(例如请求数),或只想获取上游节点的健康状态,那么获取整套状态数据的效率很低。从Release 4开始,可以使用RESTful API深入查询并检索数据子集或单个值,使监控更高效、更轻量。

借助NGINX Plus实时活动监控,深入查看所需数据

NGINX Plus R4的其他新功能

NGINX Plus R4还继承了NGINX 1.7.3版本中的其他近期更新、修复和新功能,而nginx-plus-lua和nginx-plus-extras软件包中包含的第三方模块已更新为使用Lua 0.9.10版和Passenger Open Source 4.0.45版。

根据我们仅支持仍受供应商支持的操作系统发行版版本这一政策,我们新增了对CentOS/RHEL 7的支持,并终止了对Ubuntu 12.10、13.04和13.10的支持。

有关Release 4中新功能和变更的完整列表,请参阅“NGINX Plus Releases”页面。

如果您正在运行NGINX Plus,强烈建议尽快更新到Release 4。此次更新包含多项修复和改进,也有助于我们在您需要提交支持工单时提供帮助。有关安装和升级说明,请访问NGINX Plus客户门户。

如果尚未体验过NGINX Plus,立即开始30天免费试用,了解NGINX Plus如何帮助您横向扩展和交付应用。


分享
标签: CloudFlare

关于作者

相关博客文章

NGINX Plus R26 正式发布
NGINX | 2022/02/15

NGINX Plus R26 正式发布

NGINX Plus R26通过缓存JSON Web密钥集加快JWT验证,并强化TLS握手,从而提升安全性。NGINX JavaScript的新功能包括增强对异步函数的支持,以及实现WebCrypto API。

使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击
NGINX | 2022/02/10

使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击

gRPC具备开发人员设计和部署现代应用所需的速度与灵活性,但其开放性也使其极易受到第7层DoS攻击。NGINX App Protect DoS可保护gRPC应用免受此类破坏性攻击。

Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划
NGINX | 2021/09/13

Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划

了解选择错误的Ingress控制器可能带来的风险,以及如何从关键方面着手,让您的选择更好地适应未来需求。

NGINX Plus R19 正式发布
NGINX | 2019/09/03

NGINX Plus R19 正式发布

NGINX Plus R19扩展了监控功能,不仅提供更多指标,还新增了指标分析方式;增加试运行模式,用于测试限速效果;增强键值存储,以支持IP地址范围;并使限速更加动态。

NGINX现已正式加入F5
NGINX | 2019/05/09

NGINX现已正式加入F5

NGINX现已正式成为F5的一部分。Gus Robertson现任F5 NGINX业务部门负责人。他阐述了两家公司在人才、文化和愿景方面融合的价值,以及双方将如何携手增强NGINX的开源产品和商业产品。

使用NGINX和NGINX Plus实现高性能缓存
NGINX | 2016/08/24

使用NGINX和NGINX Plus实现高性能缓存

我将介绍NGINX在内容缓存和性能方面的工作原理,并分享一些控制NGINX内容缓存方式的技巧。