nginx 1.17.9 和 njs 0.3.9 发布

形成 上游发布 nginx 1.17.9,其中新功能的开发继续进行(同时支持稳定的 分支1.16 仅进行与消除严重错误和漏洞相关的更改)。

变化:

  • 禁止在中指定多个“Host”行
    请求头;

  • 修复了 nginx 忽略附加行的错误
    请求头中的“Transfer-Encoding”;

  • 已进行修复以防止使用 HTTP/2 协议时套接字泄漏;
  • 修复了使用 OCSP 装订时工作进程中出现的分段错误;
  • 对 ngx_http_mp4_module 模块进行了更正;
  • 解决了以下问题:当使用“error_page”指令重定向代码为 494 的错误时,可能会返回代码为 494 而不是 400 的响应;
  • 修复了在 njs 模块和 aio 指令中使用子查询时的套接字泄漏。

另外,还可以注意到 问题 新泽西州0.3.9,nginx Web 服务器的 JavaScript 解释器。 njs 解释器实现了 ECMAScript 标准,并允许您使用配置中的脚本扩展 nginx 处理请求的能力。 脚本可以在配置文件中使用来定义高级逻辑,用于处理请求、生成配置、动态生成响应、修改请求/响应或快速创建存根以解决 Web 应用程序中的问题。

在新版本中,njs 模块在 r.subrequest() 中添加了对分离请求模式的支持。 对分离子查询的答复将被忽略。 与常规子查询不同,可以在变量处理程序内创建分离子查询。 还:

  • 为“fs”模块添加了 API Promise;
  • 函数 access()、symlink()、unlink() 已添加到“fs”模块中。
    realpath() 和类似的;

  • 引入了普通数组,在内存消耗方面效率较高;
  • 对词法分析器进行了改进;
  • 已修复回溯中本机函数的映射。
    痕迹;

  • 修复了“fs”模块中的回调调用;
  • 对 Object.getOwnPropertySymbols() 进行了更正;
  • 修复了 njs_json_append_string() 中的堆缓冲区溢出问题;
  • 修复了encodeURI()和decodeURI()以符合规范;
  • 对 Number.prototype.toPrecision() 进行了修复;
  • 修复了 JSON.stringify() 中空格参数的处理;
  • 使用 Number() 和 String() 对象修复了 JSON.stringify();
  • 根据 JSON.stringify() 提供 Unicode 字符的转义
    有规格;

  • 修复了非本地模块的导入问题;
  • 使用容器中的 Date() 实例修复了 njs.dump() 。

来源: opennet.ru

添加评论