Lançamento do nginx 1.19.2 e njs 0.4.3

formado versão ascendente nginx 1.19.2, dentro do qual continua o desenvolvimento de novas capacidades (em paralelo com suporte estável ramo 1.18 São feitas apenas alterações relacionadas à eliminação de erros e vulnerabilidades graves).

O principal mudanças:

  • As conexões Keepalive agora começam a fechar antes que todas as conexões disponíveis se esgotem e os avisos correspondentes sejam refletidos no log.
  • Ao usar a transmissão em partes, foi implementada a otimização da leitura do corpo da solicitação do cliente.
  • Corrigido um vazamento de memória que ocorria ao usar a diretiva "ssl_ocsp".
  • O problema que apareceu na última versão com mensagens “tamanho zero buf na saída” sendo enviadas para o log quando o servidor FastCGI retornava uma resposta incorreta foi corrigido.
  • Corrigida uma falha no fluxo de trabalho que ocorre quando large_client_header_buffers são definidos para tamanhos diferentes em servidores virtuais diferentes.
  • O problema com o encerramento incorreto de conexões SSL e a saída de avisos “SSL_shutdown() falhou (SSL: ... tentativa de gravação incorreta)” foi resolvido.
  • Erros corrigidos nos módulos ngx_http_slice_module e ngx_http_xslt_filter_module.

Simultaneamente aconteceu questão js 0.4.3, um interpretador JavaScript para o servidor web nginx. O interpretador njs implementa padrões ECMAScript e permite expandir a capacidade do nginx de processar solicitações usando scripts na configuração. Os scripts podem ser usados ​​em um arquivo de configuração para definir lógica avançada para processar solicitações, gerar uma configuração, gerar dinamicamente uma resposta, modificar uma solicitação/resposta ou criar stubs rapidamente para resolver problemas em aplicações web. Na nova versão:

  • Adicionado módulo Query String com funções para analisar uma string com parâmetros de solicitação HTTP.
  • As funções fs.mkdir() e fs.rmdir() agora têm suporte para criação e exclusão recursiva de diretórios.
  • Adicionado decodificador UTF-8.
  • O suporte para TextEncoder e TextDecoder foi implementado para conversão entre códigos de caracteres e sua representação Unicode. (por exemplo: "(new TextDecoder()).decode(new Uint8Array([206,177,206,178]))".

Fonte: opennet.ru

Adicionar um comentário