Lançamento do nginx 1.17.1 e njs 0.3.3

Disponível lançamento da ramificação principal nginx 1.17.1, no qual o desenvolvimento de novas funcionalidades continua (na ramificação estável suportada paralelamente branch 1.16 são feitas apenas alterações relacionadas à correção de erros graves e vulnerabilidades.

Principais mudanças:

  • Adicionada a diretiva limit_req_dry_run, que ativa o modo de teste, no qual não são aplicadas limitações na intensidade do processamento de requisições (sem rate limit), mas continua a contagem do número de requisições que excedem os limites na memória compartilhada;
  • Ao usar a diretiva «hash» no bloco de configurações «upstream» para fornecer balanceamento de carga com a vinculação do cliente ao servidor, agora, ao especificar um valor vazio para a chave, o modo de balanceamento uniforme (round-robin) será ativado;
  • Corrigido um crash do worker ao usar cache em conjunto com a diretiva «image_filter» e o redirecionamento do manipulador do código de erro 415 usando a diretiva «error_page»;
  • Corrigido um crash do worker que ocorria ao usar o interpretador Perl embutido.

Adicionalmente, pode-se destacar lançamento njs 0.3.3, um interpretador da linguagem JavaScript para o servidor web nginx. O interpretador njs implementa os padrões ECMAScript e permite expandir as capacidades do nginx no processamento de requisições usando scripts na configuração. Scripts podem ser usados no arquivo de configuração para definir lógica avançada de processamento de requisições, formar a configuração, gerar respostas dinamicamente, modificar requisições/respostas ou criar rapidamente gambiarras para resolver problemas em aplicações web.

Na nova versão do njs, foram corrigidos problemas identificados durante testes de fuzzing. Foi implementada uma variável global «process» com parâmetros e variáveis de ambiente do processo atual (process.pid, process.env.HOME, etc.). Possibilitada a gravação em todas as propriedades e métodos embutidos. Adicionada a implementação de Array.prototype.fill(). Suporte ao novo syntax proposto no ECMAScript 5. getter e setter para vincular a propriedade de um objeto a uma função, por exemplo:

var o = {a:2};
Object.defineProperty(o, ‘b’, {get:function(){return 2*this.a}});

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster