Lançamento do nginx 1.21.2 e njs 0.6.2

Foi lançado o branch principal do nginx 1.21.2, dentro do qual continua o desenvolvimento de novos recursos (no branch estável 1.20 com suporte paralelo, apenas são feitas alterações relacionadas à eliminação de erros graves e vulnerabilidades).

Grandes mudanças:

  • Solicitações HTTP/1.0 que incluem o cabeçalho HTTP “Transfer-Encoding” são bloqueadas (apareceu na versão do protocolo HTTP/1.1).
  • O suporte para conjunto de cifras de exportação foi descontinuado.
  • A compatibilidade com a biblioteca OpenSSL 3.0 é garantida.
  • Implementada a transferência dos cabeçalhos “Auth-SSL-Protocol” e “Auth-SSL-Cipher” para o servidor de autenticação proxy de correio.
  • A API de filtragem do corpo da solicitação permite o armazenamento em buffer dos dados processados.
  • Ao carregar certificados de servidor, foi ajustado o uso dos níveis de segurança suportados a partir do OpenSSL 1.1.0 e especificados através do parâmetro “@SECLEVEL=N” na diretiva ssl_ciphers.
  • Foram corrigidos travamentos que ocorriam ao criar uma conexão SSL com back-ends no stream e nos módulos gRPC.
  • O problema de gravar o corpo da solicitação em disco ao usar HTTP/2, na ausência do cabeçalho “Content-Length” na solicitação, foi resolvido.

Ao mesmo tempo, foi lançado o njs 0.6.2, 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, os métodos Promise.all(), Promise.allSettled(), Promise.any() e Promise.race() foram adicionados à implementação do Promise. Suporte implementado para o objeto AggregateError.

Fonte: opennet.ru

Adicionar um comentário