versão nginx 1.16.0

Após um ano de desenvolvimento é apresentado novo ramo estável de servidor HTTP de alto desempenho e servidor proxy multiprotocolo nginx 1.16.0, que absorveu as alterações acumuladas no branch principal 1.15.x. No futuro, todas as mudanças no branch estável 1.16 estarão relacionadas à eliminação de erros e vulnerabilidades graves. Em breve será formado o ramo principal do nginx 1.17, dentro do qual o desenvolvimento de novos recursos continuará. Para usuários comuns que não têm a tarefa de garantir a compatibilidade com módulos de terceiros, recomendado utilizar o ramo principal, com base no qual são formados os lançamentos do produto comercial Nginx Plus a cada três meses.

As melhorias mais notáveis ​​adicionadas durante o desenvolvimento da ramificação upstream 1.15.x:

  • Adicionada a capacidade de usar variáveis ​​em 'diretivasssl_certificate' E 'ssl_certificate_key', que pode ser usado para carregar certificados dinamicamente;
  • Adicionada a capacidade de carregar certificados SSL e chaves secretas de variáveis ​​sem usar arquivos intermediários;
  • No bloco "rio acima» nova diretiva implementada «acaso“, com o qual você pode organizar o balanceamento de carga com uma seleção aleatória de um servidor para encaminhamento da conexão;
  • No módulo ngx_stream_ssl_preread variável implementada $ssl_preread_protocol,
    que especifica a versão mais recente do protocolo SSL/TLS compatível com o cliente. A variável permite criar configurações para acesso usando vários protocolos com e sem SSL através de uma porta de rede ao fazer proxy de tráfego usando os módulos http e stream. Por exemplo, para organizar o acesso via SSH e HTTPS através de uma porta, a porta 443 pode ser encaminhada para SSH por padrão, mas se a versão SSL for definida, encaminhe para HTTPS.

  • Uma nova variável foi adicionada ao módulo upstream "$upstream_bytes_sent", que exibe o número de bytes transferidos para o servidor do grupo;
  • Para módulo transmitir canais dentro de uma sessão, foi adicionada a capacidade de processar vários datagramas UDP recebidos do cliente;
  • A diretiva "solicitações_proxy", especifica o número de datagramas recebidos do cliente, ao atingir o qual a ligação entre o cliente e a sessão UDP existente é removida. Após receber o número especificado de datagramas, o próximo datagrama recebido do mesmo cliente inicia uma nova sessão;
  • A diretiva listen agora tem a capacidade de especificar intervalos de portas;
  • Adicionada diretiva "ssl_early_data» para ativar o modo 0-RTT ao utilizar TLSv1.3, que permite salvar parâmetros de conexão TLS previamente negociados e reduzir o número de RTTs para 2 ao retomar uma conexão previamente estabelecida;
  • Novas diretivas foram adicionadas para configurar o keepalive para conexões de saída (habilitando ou desabilitando a opção SO_KEEPALIVE para soquetes):

    • «proxy_socket_keepalive" - configura o comportamento "TCP keepalive" para conexões de saída para o servidor proxy;
    • «fastcgi_socket_keepalive" - configura o comportamento "TCP keepalive" para conexões de saída com o servidor FastCGI;
    • «grpc_socket_keepalive" - configura o comportamento "TCP keepalive" para conexões de saída com o servidor gRPC;
    • «memcached_socket_keepalive" - configura o comportamento "TCP keepalive" para conexões de saída para o servidor memcached;
    • «scgi_socket_keepalive" - configura o comportamento "TCP keepalive" para conexões de saída com o servidor SCGI;
    • «uwsgi_socket_keepalive" - configura o comportamento "TCP keepalive" para conexões de saída com o servidor uwsgi.
  • Na diretiva "limite_req" adicionado um novo parâmetro “atraso”, que define um limite após o qual as solicitações redundantes são atrasadas;
  • Novas diretivas “keepalive_timeout” e “keepalive_requests” foram adicionadas ao bloco “upstream” para definir limites para Keepalive;
  • A diretiva "ssl" foi obsoleta, substituída pelo parâmetro "ssl" na diretiva "listen". Certificados SSL ausentes agora são detectados na fase de teste de configuração ao usar a diretiva “listen” com o parâmetro “ssl” nas configurações;
  • Ao usar a diretiva reset_timedout_connection, as conexões agora são fechadas com um código 444 quando o tempo limite expira;
  • Erros SSL "solicitação http", "solicitação de proxy https", "protocolo não suportado" e "versão muito baixa" agora são exibidos no log com o nível "info" em vez de "crit";
  • Adicionado suporte para o método poll em sistemas Windows ao usar o Windows Vista e posterior;
  • Possibilidade de usar TLSv1.3 ao construir com a biblioteca BoringSSL, não apenas OpenSSL.

Fonte: opennet.ru

Adicionar um comentário