Histórico de Versões do Angie PRO#

2025#

Angie PRO 1.10.2#

Data de lançamento: 21.08.2025.

Correções de Bugs#

  • Configurações do módulo proxy no bloco http poderiam quebrar a funcionalidade de módulos que usam o bloco client para requisições de saída; o bug havia aparecido na versão 1.10.0.

  • Habilitar proxy_ignore_client_abort junto com módulos que usam o bloco client para requisições de saída poderia levar a crashes do processo worker; o bug havia aparecido na versão 1.10.0.

  • Se um único servidor fosse pré-configurado em um grupo upstream, servidores adicionados via API Docker poderiam não ser incluídos no balanceamento de carga.

  • Se o único servidor em um grupo upstream fosse adicionado via API Docker, ele poderia ser excluído do balanceamento de carga quando detectado como indisponível.

Pacotes#


Angie PRO 1.10.1#

Data de lançamento: 17.07.2025.

Mudanças#

  • Diretivas especificadas no bloco client agora só podem ser herdadas por blocos location explicitamente declarados dentro desse bloco, para que não afetem a configuração de outros módulos que implicitamente usam o bloco client para requisições de saída.

Recursos#

  • Suporte para múltiplos blocos client permite que configurações comuns para diferentes blocos location sejam agrupadas dentro de cada bloco, o que mitiga a duplicação de configuração.

Correções de Bugs#

  • Quando o parâmetro reuseport era usado na diretiva listen, todas as conexões para o endereço e porta especificados eram tratadas por um único processo worker; o bug havia aparecido na versão 1.10.0.

  • Acessar variáveis especiais $stream_* fora da requisição de sessão sticky do stream causava um crash do processo worker.

  • Um handshake HTTP/3 com um servidor upstream poderia falhar com a biblioteca OpenSSL versão 3.5.0 ou posterior se o modo retry do protocolo QUIC estivesse ativo no servidor.


Angie PRO 1.10.0#

Data de lançamento: 03.07.2025.

Recursos#

  • Recuperação automática e atualização dinâmica de grupos de servidores proxy baseada em labels de contêineres Docker (ou Podman), configurada usando a diretiva docker_endpoint. Isso permite monitoramento em tempo real de eventos de início e parada de contêineres via o endpoint da API Docker especificado, e permite que seus endereços sejam adicionados ou removidos do grupo upstream de acordo com as labels, sem exigir um reload da configuração.

  • Suporte para aquisição automática de certificados TLS via protocolo ACME no módulo stream, configurado usando a diretiva acme e variáveis como $acme_cert_* e $acme_cert_key_*.

  • Vinculação de sessões stream a um grupo de servidores proxy usando uma requisição HTTP para armazenamento externo, configurável via diretiva sticky no modo learn com parâmetros remote_action, remote_result e remote_uri. Isso permite persistência de sessão em ambientes clusterizados onde um grupo de balanceadores de carga compartilha armazenamento externo e roteia requisições de clientes para o mesmo servidor dentro de uma sessão, independentemente de qual balanceador recebe a requisição.

  • O novo parâmetro norefresh para a diretiva sticky (no modo learn) desabilita a renovação automática de sessão no uso.

  • Novo modo de sessão para sticky, no qual sessões são armazenadas apenas em um servidor remoto e são sempre recuperadas dele. Isso permite cache flexível de respostas do servidor remoto no módulo proxy.

  • Capacidade de manter servidores backup stream ativos mesmo após o grupo de servidores principal ficar disponível novamente, usando a diretiva backup_switch permanent[=timeout] no bloco upstream.

  • Suporte para conexões MPTCP usando o parâmetro multipath na diretiva listen. Agradecimentos a Maxim Dounin (freenginx), Maxime Dourov e Anthony Doeraene.

  • Novo bloco client para configurar requisições HTTP internas iniciadas por vários módulos.

  • Inclui todos os recursos do nginx 1.27.5, incluindo controle de congestionamento CUBIC para conexões QUIC.

Correções de Bugs#

  • Para servidores upstream no modo drain, o contador de tempo de inatividade na API de estatísticas não parava após o servidor ficar saudável novamente de acordo com verificações de saúde passivas.

Pacotes#

14.07.2025


Angie PRO 1.9.1#

Data de lançamento: 29.05.2025.

Recursos#

  • Suporte para endereços IP junto com números de porta na diretiva acme_dns_port; tanto IPv4 quanto IPv6 são permitidos.

Correções de Bugs#

  • Usar tanto um domínio curinga quanto domínios de terceiro nível correspondentes em diretivas server_name poderia causar falha do servidor ACME ao emitir um certificado para esses domínios sob um único cliente ACME.

  • No módulo stream, após uma conexão bem-sucedida ao servidor proxy durante uma verificação passiva, seu status na API de estatísticas era erroneamente exibido como unavailable até a sessão terminar.

  • O contador de tempo de inatividade na API de estatísticas poderia ter parado ou sido incorretamente resetado enquanto o servidor proxy no módulo stream estava no estado unhealthy.

  • Requisições HTTP/3 poderiam travar e dar timeout; a correção foi portada do nginx 1.29.0.

  • Um erro precoce ao estabelecer uma conexão HTTP/3 para um servidor proxy poderia causar um crash do processo worker.

  • Ao fazer proxy via protocolo HTTP/3, o número de conexões ativas nas estatísticas poderia ser exibido incorretamente.

  • Quando o servidor proxy no modo drain ficava indisponível, a tentativa de conectar a outro servidor, de acordo com proxy_next_upstream e diretivas similares, poderia não ter ocorrido.

Pacotes#

Angie PRO 1.9.0#

Data de lançamento: 11.04.2025.

Funcionalidades#

  • A capacidade de especificar um arquivo na diretiva proxy_cache_path, onde o conteúdo da zona de memória compartilhada com o índice de cache será salvo entre as inicializações do servidor; isso elimina a necessidade de recarregar o cache após uma reinicialização e permite que o servidor volte online quase imediatamente.

  • Usar a diretiva backup_switch permanent[=timeout] no bloco upstream do módulo HTTP permite que um grupo de servidores de backup permaneça ativo quando os servidores do grupo principal se tornarem acessíveis novamente.

  • Suporte ao TLS 1.3 Early Data (0-RTT) no módulo stream usando a diretiva ssl_early_data.

  • Novo estado busy para peers upstream na API de estatísticas, indicando que um peer atingiu o limite configurado pela opção max_conns.

  • O parâmetro uri= na diretiva acme_hook permite redefinir o URI da requisição do hook e suporta variáveis.

  • O parâmetro renew_on_load da diretiva acme_client permite forçar a renovação do certificado no carregamento da configuração.

  • O tempo de compilação agora é exibido através do campo build_time do objeto da API de estatísticas /status/angie e na saída da opção de linha de comando -V.

  • Toda a funcionalidade do nginx 1.27.4, exceto pela diretiva keepalive_min_timeout (uma funcionalidade similar existe desde a versão 1.8.0).

Mudanças#

  • O parâmetro enabled=off na diretiva acme_client agora desabilita apenas a renovação de certificado para o cliente especificado enquanto preserva toda outra funcionalidade; a chave e o certificado (se disponíveis) podem ser acessados através das variáveis $acme_cert_*, enquanto o uso das variáveis $acme_hook_* e as diretivas acme não causam erros.

  • O erro no valid domain name defined for ACME client agora é emitido apenas se nenhum nome de domínio válido (ou seja, compatível com ACME) for encontrado no bloco server que referencia um cliente ACME usando a diretiva acme.

Correções de bugs#

  • Se compilado com suporte NTLS, a herança das diretivas proxy_ssl_certificate e proxy_ssl_certificate_key com variáveis não funcionava adequadamente.

Pacotes#


Angie PRO 1.8.3#

Data de lançamento: 02.04.2025.

Correções de bugs#

  • As estatísticas do server no bloco server do módulo HTTP poderiam ser calculadas incorretamente se as requisições dentro da mesma conexão pertencessem a diferentes zonas de estatísticas, ou se um erro ocorresse durante o processamento inicial da requisição; o bug havia aparecido na versão 1.8.2.

Pacotes#

04.04.2025

07.04.2025

Angie PRO 1.8.2#

Data de lançamento: 13.02.2025.

Segurança#

  • Validação insuficiente ao manipular servidores virtuais com TLSv1.3 SNI permitia que sessões SSL fossem reutilizadas em um servidor virtual diferente, contornando a verificação do certificado SSL do cliente (CVE-2025-23419); a correção foi portada do nginx 1.27.4.

Correções de bugs#

  • Sondas ativas configuradas com a diretiva upstream_probe (PRO) no módulo stream poderiam causar falha no processo worker.

  • Requisições da API para recuperar valores estatísticos de uma zona individual, que foi definida através de variáveis, poderiam causar um loop infinito no processo worker.

  • Requisições HTTP/3 não eram contadas nas estatísticas de zona; o bug havia aparecido na versão 1.8.0.

  • Handshakes TLS usando protocolo QUIC não eram contados nas estatísticas SSL.

  • A renovação de certificado através do protocolo ACME poderia falhar para nomes de servidor prefixados com um ponto na diretiva server_name.

Pacotes#


2024#

Angie PRO 1.8.1#

Data de lançamento: 28.12.2024.

Correções de bugs#

  • Usar a diretiva status_zone no bloco server do módulo HTTP causava log excessivo de requisições vazias no access_log em handshakes TLS; o bug havia aparecido na versão 1.8.0.

  • Erros de decodificação no stream HTTP/3 poderiam causar falha no processo worker ao fechar uma conexão QUIC; a correção foi portada do nginx 1.27.4.

  • O envio de pacotes de negociação de versão do protocolo QUIC poderia causar um loop infinito de troca de pacotes; a correção foi portada do nginx 1.27.4.

  • Usar DNS-challenge sem hooks no módulo ACME poderia causar falha no processo worker em algumas configurações.

Pacotes#

23.01.2025

27.01.2025

Angie PRO 1.8.0#

Data de lançamento: 19.12.2024.

Funcionalidades#

  • Vinculação de sessão HTTP para um grupo de servidores proxy com solicitação para armazenamento externo, configurável pela diretiva sticky no modo learn usando os parâmetros remote_action e remote_result; isso permite configurar a vinculação de sessões de cliente a servidores balanceados em modo cluster, quando um grupo de balanceadores é unificado por armazenamento compartilhado e direciona solicitações de cliente dentro de uma sessão para o mesmo servidor, independentemente de qual balanceador elas atingem.

  • Suporte a desafios DNS-01 através do tratamento de consultas DNS do servidor ACME, que permite solicitar automaticamente certificados de qualquer tipo, incluindo certificados wildcard.

  • Sistema de hooks no módulo ACME, configurável usando a diretiva acme_hook, que permite o tratamento de desafios de nome de domínio usando uma aplicação externa para fornecer integração com vários serviços e provedores de hospedagem DNS.

  • O módulo ACME registra algumas informações adicionais: por que exatamente o certificado está sendo renovado, lista completa de nomes de domínio, ID da conta do cliente, longos períodos de inatividade (ex.: polling), e o nome de domínio sendo desafiado; essas informações simplificam a solução de problemas e permitem especificar o registro DNS CAA.

  • O parâmetro account_key da diretiva acme_client, que permite reutilizar uma chave existente para a conta do servidor ACME em vez de gerar automaticamente uma nova.

  • Suporte para variáveis nas diretivas status_zone nos módulos stream e HTTP permite contabilizar dinamicamente estatísticas dentro de várias zonas em um único bloco location ou server; em particular, é especialmente útil quando um único bloco server está tratando múltiplos hosts virtuais.

  • Compatibilidade do módulo de compressão HTTP GZip com as versões zlib-ng 2.2.0 e superiores, que anteriormente poderiam causar mensagens [alert] gzip filter failed to use preallocated memory no log de erro.

  • A diretiva max_headers que limita o número de campos de cabeçalho de solicitação HTTP para melhor proteção contra ataques DoS. Agradecimentos a Maxim Dounin (freenginx) e Maksim Yevmenkin.

  • As diretivas http3_max_table_capacity e proxy_http3_max_table_capacity para configurar os limites da tabela de compressão de cabeçalho dinâmico HTTP/3.

  • Suporte a compilação cruzada - o sistema de build agora pode usar um script wrapper para executar autotestes, o que permite preparar um build sem executar programas de teste diretamente na plataforma de destino.

  • Toda a funcionalidade do nginx 1.27.3.

Correções de Bugs#

  • Clientes HTTP/3 poderiam expirar o tempo limite ao usar 0-RTT; o bug foi herdado do nginx na versão 1.7.0.

  • Proxy com HTTP/3 usando variáveis na diretiva proxy_pass e sem especificar um bloco upstream poderia travar o processo worker.

  • Upstreams HTTP/3 usando tabela dinâmica poderiam levar ao travamento do processo worker se usados com cache.

  • Alguns handshakes SSL poderiam não ser contados nas estatísticas para o módulo stream.

  • Configurações de proxy HTTP/3 especificadas no nível http ou server poderiam ser ignoradas.

  • A diretiva proxy_ssl_certificate não funcionava ao fazer proxy via HTTP/3 com suporte NTLS habilitado.

Mudanças#

  • Ao desligar graciosamente processos worker antigos, conexões keep-alive agora são fechadas apenas após o timeout especificado pela diretiva lingering_timeout ter expirado; esse comportamento permite evitar possíveis erros de cliente ao receber respostas nesse momento. Agradecimentos a Maxim Dounin (freenginx).

  • Desabilitado o cache das variáveis do módulo stream $ssl_server_name, $ssl_server_cert_type, $ssl_preread_protocol, e $ssl_preread_server_name, o que permite obter valores reais ao usar servidores virtuais.

Pacotes#


Angie PRO 1.7.0#

Data de lançamento: 19.09.2024.

Funcionalidades#

  • Fechamento forçado de todas as conexões para um servidor proxy quando ele é removido do grupo; pode ser configurado através das diretivas proxy_connection_drop, grpc_connection_drop, fastcgi_connection_drop, scgi_connection_drop, e uwsgi_connection_drop, cujo valor pode ser sobrescrito localmente com o argumento connection_drop de uma solicitação de API para remoção de servidor.

  • Contadores de tipos de consulta DNS enviados nas estatísticas do resolver da API, que são coletados com o parâmetro status_zone da diretiva resolver.

  • O balanceamento de carga feedback (PRO) agora pode ser usado no módulo stream; ele distribui sessões TCP/UDP baseado em uma variável especificada, que pode ser obtida de servidores upstream proxy ou solicitações periódicas para serviços externos. Isso permite balanceamento de carga dinâmico dependendo de métricas arbitrárias de servidores proxy, como consumo de recursos, utilização de CPU/memória, e comprimento da fila.

  • A opção last_byte da diretiva feedback (PRO), que permite processar feedback do servidor upstream após toda a resposta ser recebida, em vez de apenas o cabeçalho.

  • O método de balanceamento de carga feedback (PRO) agora aceita números de ponto flutuante como valor da variável.

  • O parâmetro account da diretiva least_time (PRO), que habilita usar uma variável para especificar quais solicitações são consideradas para balanceamento least_time, incluindo considerar apenas solicitações upstream_probe (PRO).

  • O parâmetro factor da diretiva least_time (PRO), que permite especificar um fator de suavização ajustável para o balanceador least_time e sobrescreve o valor do response_time_factor (PRO) usado para coleta de estatísticas.

  • Um modo drain que muda o servidor stream proxy para um novo estado draining, quando apenas solicitações vinculadas usando o módulo sticky são enviadas para o servidor.

  • A variável $ssl_server_cert_type que contém o tipo de certificado selecionado para uma conexão TLS recebida.

  • Desabilitação da criação do arquivo PID com o parâmetro off da diretiva pid, que pode ser benéfico com imagens imutáveis e controle direto por um gerenciador de serviço. Agradecimentos a Maxim Dounin (freenginx).

  • Criação do arquivo PID feita atômica através de um arquivo temporário intermediário, que remove um momento quando o arquivo já está no diretório mas ainda vazio, e permite que programas externos o manipulem mais facilmente e de forma confiável.

  • Agora, durante a reconfiguração, nenhuma tentativa é feita para recriar o arquivo PID se o nome na diretiva pid mudou mas aponta para o mesmo arquivo via symlinks; em particular, permite evitar problemas em sistemas que migram de /var/run/angie.pid para /run/angie.pid. Agradecimentos a Maxim Dounin (freenginx).

  • Erros de log syslog agora são reportados no máximo uma vez por segundo; isso ajuda a evitar inundar os logs com tais mensagens quando o servidor syslog está inativo ou sobrecarregado. Agradecimentos a Maxim Dounin (freenginx).

  • No módulo proxy Mail, o número máximo de comandos durante autenticação, configurado com a diretiva max_commands, é limitado para melhor proteção contra ataques DoS. Agradecimentos a Maxim Dounin (freenginx).

  • A --feature-cache opção do script ./configure para cachear seus resultados para otimização ao construir múltiplos módulos ou compilação cruzada.

  • Toda a funcionalidade do nginx 1.27.1.

Correções de Bugs#

  • O timeout de espera de uma solicitação enfileirada configurado pela diretiva queue (PRO) poderia travar o processo worker.

  • Erros PID file ... not readable (yet?) after start e Failed to parse PID from file... poderiam aparecer ao iniciar com systemd. Agradecimentos a Maxim Dounin (freenginx).

Mudanças#

  • Atualizadas descrições de códigos de status HTTP em conformidade com RFC 9110. Agradecimentos a Maxim Dounin (freenginx) e Michiel W. Beijen.

  • Um máximo de uma linha vazia agora é permitido antes de uma solicitação HTTP para melhor proteção contra ataques DoS. Agradecimentos a Maxim Dounin (freenginx).

  • Nomes de campos de cabeçalho HTTP/1.x sem dois pontos no final agora são proibidos; tais campos de cabeçalho inválidos de um cliente ou servidor proxy agora causarão uma resposta de erro. Agradecimentos a Maxim Dounin (freenginx) e Maksim Yevmenkin.

  • Ao ler um corpo de solicitação usando codificação de transferência chunked HTTP/1.1, o tamanho total de extensões de chunk ignoradas e campos de cabeçalho trailer agora é limitado pela diretiva client_max_body_size para melhor proteção contra ataques DoS. Agradecimentos a Maxim Dounin (freenginx) e Bartek Nowotarski.

  • O tipo MIME no arquivo de configuração mime.types foi alterado para image/bmp para a extensão bmp e application/vnd.rar para a extensão rar; definido como application/vnd.debian.binary-package para as extensões deb e udeb. Agradecimentos a Yuriy Izorkin.

Pacotes#

24.10.2024

Angie PRO 1.6.2#

Data de lançamento: 16.08.2024.

Segurança#

  • O processamento de um arquivo MP4 especialmente criado com o ngx_http_mp4_module poderia causar uma falha no processo worker (CVE-2024-7347); a correção foi portada do nginx 1.27.1.


Angie PRO 1.6.1#

Data de lançamento: 08.08.2024.

Recursos#

Correções de bugs#

  • Ao usar servidores virtuais ou as diretivas pass no módulo stream, as conexões poderiam ser contabilizadas incorretamente na API de estatísticas.

  • Os processos worker poderiam falhar em configurações com 5 clientes ACME ou mais; o bug havia aparecido na versão 1.6.0.

  • O manuseio de respostas em cache com o cabeçalho X-Accel-Redirect poderia causar falha no processo worker. Agradecimentos a Maxim Dounin (freenginx) e Jiří Setnička.

Pacotes#


Angie PRO 1.6.0#

Data de lançamento: 28.06.2024.

Recursos#

  • Balanceamento HTTP pelo valor de uma variável especificada que pode ser obtida de servidores upstream proxied ou requisições periódicas para serviços externos, usando a diretiva feedback no bloco upstream; isso permite, em particular, balancear dinamicamente a carga dependendo de métricas arbitrárias dos servidores proxied: consumo de vários recursos, utilização de CPU/memória, tamanho da fila, etc.

  • A diretiva sticky e opções relacionadas no bloco upstream do módulo stream, que permitem configurar o modo de sessões sticky onde todas as conexões na sessão são roteadas para o mesmo servidor.

  • Extração de valores de Cookie de conexões RDP usando a diretiva rdp_preread no módulo stream nas variáveis $rdp_cookie e $rdp_cookie_NAME, que permite registrar e vincular sessões de cliente RDP a servidores específicos durante o balanceamento de carga.

  • A opção persistent da diretiva upstream_probe, que permite evitar esperar por sondas essential após o recarregamento da configuração para servidores previamente saudáveis.

  • Suporte para múltiplas diretivas acme em um bloco server, que permite configurar a obtenção de dois tipos de certificados ao mesmo tempo para esse servidor virtual.

  • Opções de linha de comando -m e -M para listar módulos integrados e carregados.

  • A variável $upstream_probe que contém o nome da sonda em andamento emitida por upstream_probe.

  • Suporte para BoringSSL no módulo ACME.

  • Toda a funcionalidade do nginx 1.27.0, incluindo suporte para servidores virtuais no módulo stream e a diretiva pass, que permite passar conexões aceitas para manuseio por outros sockets de escuta, incluindo os módulos HTTP e Mail.

Correções de bugs#

  • Sondas upstream_probe ativas poderiam não ter funcionado em algumas configurações enquanto registravam mensagens de erro como [alert] getsockname() failed (9: Bad file descriptor).

  • A requisição de certificado via protocolo ACME poderia resultar em erro em algumas configurações com uma mensagem de log como [alert] getsockname() failed (9: Bad file descriptor).

  • A requisição de certificado com grande número de nomes de domínio via protocolo ACME poderia resultar em erro com uma mensagem de log como [error] JSON parser error.

  • Clientes ACME em configurações com múltiplas diretivas error_log poderiam registrar mensagens em logs irrelevantes.

Pacotes#


Angie PRO 1.5.2#

Data de lançamento: 03.06.2024.

Segurança#

  • Ao usar HTTP/3, o processamento de uma sessão QUIC especialmente criada poderia causar uma falha no processo worker, divulgação de memória do processo worker em sistemas com MTU maior que 4096 bytes, ou ter outro impacto (CVE-2024-32760, CVE-2024-31079, CVE-2024-35200, CVE-2024-34161); a correção foi portada do nginx 1.26.1.

Pacotes#


Angie PRO 1.5.1#

Data de lançamento: 16.05.2024.

Correções de bugs#

  • O mecanismo proxy_next_upstream não funcionava corretamente ao editar um grupo de servidores proxied via API, e ao usar a opção resolve da diretiva server no bloco HTTP se o número de endereços IP resolvidos diferisse do número de servidores especificados.

  • Ao requisitar um certificado via protocolo ACME, uma falha de segmentação poderia ocorrer em um processo worker.

  • A diretiva sticky no modo learn poderia funcionar incorretamente quando diferentes números de variáveis lookup e create fossem especificados.

  • O mecanismo slow_start não funcionava ao fazer proxy de conexões TCP no módulo stream.

  • Requisições HTTP/3 poderiam resultar em erro se recebidas como dados antecipados TLS 1.3; o bug havia aparecido na versão 1.4.0.

  • A conexão HTTP/3 poderia ser fechada prematuramente ao usar 0-RTT em QUIC.

  • Ao ler um corpo de requisição de uma conexão rápida, a leitura por um longo tempo era possível. Agradecimentos a Maxim Dounin (freenginx).

Mudanças#

  • Agora os clientes ACME não descartam certificados armazenados anteriormente que expiraram ou foram emitidos para uma lista de domínios diferente, mas os usam durante a renovação.

Pacotes#

27.05.2024

  • Adicionados pacotes para Alpine 3.20.


Angie PRO 1.5.0#

Data de lançamento: 27.03.2024.

Recursos#

  • Suporte básico para obtenção e atualização automática de certificados usando o protocolo ACME, configurável com as diretivas acme_client e acme, bem como variáveis da forma $acme_cert_= e $acme_cert_key_=.

  • Um modo drain que alterna o servidor HTTP proxied para um novo estado draining, quando apenas requisições vinculadas usando o módulo sticky são enviadas para o servidor.

  • Configuração de redirecionamento automático, que adiciona barras finais aos URIs de requisição, com a diretiva auto_redirect.

  • Saída de métricas de estatísticas com datas em formato Epoch em vez de ISO 8601 para uso no Prometheus e opcionalmente na API JSON com o argumento de requisição ?date-epoch.

  • Agora a opção -V também mostra a versão relevante do nginx, que é útil para compatibilidade com utilitários de terceiros, certbot em particular. Agradecimentos a AdvTechnoKing.

  • Toda a funcionalidade do nginx 1.25.4.

Correções de bugs#

  • Se o mecanismo de reutilização de sessão SSL proxy_ssl_session_reuse fosse usado e a lista de servidores proxied fosse atualizada dinamicamente, um vazamento poderia ocorrer na zona de memória compartilhada configurada para o bloco upstream correspondente.

Pacotes#

28.03.2024

16.04.2024

25.04.2024

Angie PRO 1.4.1#

Data de lançamento: 15.02.2024.

Segurança#

  • Ao usar HTTP/3, um erro de segmentação pode ter ocorrido em um processo worker durante o processamento de uma sessão QUIC especialmente criada (CVE-2024-24989); note que o Angie PRO a partir da versão 1.4.0 já não é vulnerável ao CVE-2024-24990.

Pacotes#

2023#

Angie PRO 1.4.0#

Data de lançamento: 21.12.2023.

Recursos#

  • Suporte para estabelecer conexões HTTP/3 com servidores upstream no módulo proxy HTTP permitindo que clientes usem versões HTTP arbitrárias. A configuração é feita com a diretiva proxy_http_version e um conjunto de diretivas proxy_quic_ e proxy_http3_.

  • A diretiva upstream_probe (PRO) para verificar a saúde dos servidores no bloco upstream do módulo stream criando periodicamente conexões de teste ou enviando datagramas.

  • Modo learn adicional da diretiva sticky para vincular sessões a servidores proxy que permite descobrir sessões e salvá-las na memória compartilhada do servidor.

  • Fila de espera para requisições que não puderam ser balanceadas na primeira tentativa, configurada usando a diretiva queue (PRO) no bloco upstream do módulo HTTP.

  • Interface JSON RESTful HTTP para reconfigurar, adicionar ou excluir servidores nos blocos upstream do módulo stream, e a diretiva state para persistir essas mudanças.

  • Balanceamento de carga por tempo médio para estabelecer uma conexão, receber o primeiro ou último byte de uma resposta de servidores stream upstream proxy com um fator de suavização ajustável, usando as diretivas least_time (PRO) e response_time_factor (PRO) no bloco upstream.

  • Estatísticas de tempo médio para estabelecer uma conexão, receber o primeiro e último byte de uma resposta de servidores stream upstream proxy na interface fornecida pela diretiva api, com a capacidade de ajustar o fator de suavização da média através da diretiva response_time_factor (PRO) do bloco upstream.

  • Um mecanismo para colocar suavemente o servidor proxy online após uma falha usando a opção slow_start da diretiva server no bloco upstream.

  • Diretiva mqtt_preread no módulo stream, que permite extrair o nome de usuário e id do cliente do pacote CONNECT do protocolo MQTT nas variáveis $mqtt_preread_username e $mqtt_preread_clientid.

  • Limitação da taxa de resposta da transmissão de arquivos MP4 para o cliente proporcionalmente ao bitrate usando as diretivas mp4_limit_rate e mp4_limit_rate_after, que reduz a carga de largura de banda.

  • Toda a funcionalidade do nginx 1.25.3.

Correções de bugs#

  • Se um servidor proxy fosse o único em um grupo, ele poderia ser incorretamente reportado como unavailable na API de estatísticas mesmo após a recuperação.

Mudanças#

  • Agora o tempo do servidor proxy estar no estado checking não é contado como downtime.

  • O template padrão prometheus_all.conf inclui todas as métricas Prometheus adicionais e possíveis valores state de peers upstream que são expostos apenas pela versão PRO.

Pacotes#

25.12.2023

22.01.2024


Angie PRO 1.3.2#

Data de lançamento: 23.11.2023.

Correções de bugs#

  • Sondas de saúde ativas com a flag essential tratavam incorretamente a transição do servidor de checking para unhealthy quando a verificação inicial falhava, resultando em requisições de usuário sendo roteadas para o servidor com falha.

  • possíveis valores incorretos de métricas na saída do Prometheus que usavam variáveis diferentes de $p8s_value para seus valores; na prática o problema poderia ocorrer com angie_http_upstreams_peers_state e angie_stream_upstreams_peers_state do template padrão prometheus_all.conf.

  • algumas tentativas de conexão com servidores upstream poderiam não ter sido adequadamente contabilizadas na API de estatísticas se falhassem imediatamente; o bug havia aparecido na versão 1.3.0.

Pacotes#

04.12.2023

07.12.2023

12.12.2023


Angie PRO 1.3.1#

Data de lançamento: 18.10.2023.

Segurança#

  • Adicionadas limitações extras ao tratamento de streams HTTP/2 para melhor proteção contra o ataque DoS conhecido como "HTTP/2 Rapid Reset" (CVE-2023-44487).

Pacotes#

26.10.2023

13.11.2023

Angie PRO 1.3.0#

Data de lançamento: 03.10.2023.

Funcionalidades#

  • Capacidade de especificar múltiplos padrões de correspondência na diretiva location, que permite combinar vários blocos location com configurações similares e, portanto, simplificar a configuração reduzindo duplicação.

  • Balanceamento de carga por tempo médio para receber o cabeçalho de resposta ou resposta completa de servidores HTTP proxificados com um fator de suavização ajustável, usando as diretivas least_time (PRO) e response_time_factor (PRO) no bloco upstream.

  • Exportação de métricas de estatísticas variadas no formato Prometheus com configuração de template flexível usando as novas diretivas prometheus e prometheus_template.

  • Estatísticas de tempo médio para receber o cabeçalho de resposta e resposta completa de servidores HTTP proxificados na interface fornecida pela diretiva api, com a capacidade de ajustar o fator de suavização da média através da diretiva response_time_factor (PRO) do bloco upstream.

  • Informações detalhadas e métricas para grupos de servidores upstream de stream na interface de estatísticas fornecida pela diretiva api.

  • A opção resolve da diretiva server no bloco upstream do módulo stream que permite monitorar mudanças na lista de endereços IP correspondentes a um nome de domínio, e atualizá-la automaticamente sem a necessidade de recarregar a configuração.

  • A opção service da diretiva server no bloco upstream do módulo stream que permite recuperar listas de endereços de registros DNS SRV, com suporte básico de prioridade.

  • Suporte para vincular uma conexão de cliente a uma conexão de servidor backend usando a diretiva bind_conn (PRO) nos blocos upstream do módulo http, particularmente para proxificar conexões com autenticação NT LAN Manager (NTLM).

  • Acesso ao conteúdo de arquivos de configuração usados pela geração atual de processos worker através da interface fornecida pela diretiva api com a diretiva api_config_files habilitada.

  • Exibição do número da geração de configuração nos títulos dos processos, que permite monitorar o sucesso de recarregamentos de configuração e o número de gerações de processos worker anteriores usando o utilitário ps.

  • Toda a funcionalidade do nginx 1.25.2.

Mudanças#

  • Agora o nome da aplicação angie é usado ao carregar a configuração do OpenSSL.

Pacotes#


Angie PRO 1.2.0#

Data de lançamento: 15.08.2023.

Funcionalidades#

  • Interface JSON RESTful HTTP para reconfigurar, adicionar ou excluir servidores nos blocos upstream do módulo HTTP, e a diretiva state para persistir essas mudanças.

  • A diretiva upstream_probe (PRO) para verificar a saúde dos servidores no bloco upstream do módulo HTTP enviando periodicamente requisições de sonda.

  • Suporte para fragmentação de cache no módulo proxy HTTP, que permite armazenar respostas em cache em diferentes diretórios (drives) dependendo de um parâmetro de resposta arbitrário, configurado com variáveis na nova opção path- da diretiva proxy_cache.

  • Suporte para NTLS nos módulos HTTP ao usar a biblioteca TLS TongSuo; o suporte pode ser habilitado através da opção de tempo de compilação ‑‑with‑ntls e configurado com as diretivas correspondentes ssl_ntls e proxy_ssl_ntls.

  • Nos módulos proxy HTTP, a capacidade de especificar múltiplos certificados com diferentes tipos (RSA e ECDSA) e chaves correspondentes usando as diretivas proxy_ssl_certificate e proxy_ssl_certificate_key.

  • Exibição da versão e nome da compilação no título do processo master, que permite obter essas informações sobre uma instância de servidor em execução usando o utilitário ps.

  • Capacidade do módulo gzip de comprimir respostas "207 Multi-Status". Agradecimentos a DBotThePony.

  • Toda a funcionalidade do nginx 1.25.0, incluindo suporte a HTTP/3.

Mudanças#

Pacotes#


Angie PRO 1.1.0-p1#

Data de lançamento: 01.03.2023.

Funcionalidades#

  • A diretiva sticky e opções relacionadas no bloco upstream do módulo HTTP que permitem configurar o modo de sessões persistentes, onde todas as requisições da sessão são roteadas para o mesmo servidor.

  • A variável $upstream_sticky_status que pode ser new, hit ou miss dependendo do sucesso da requisição ao servidor upstream relacionado com sessões persistentes habilitadas.


Angie PRO 1.1.0#

Data de lançamento: 07.02.2023.

Funcionalidades#

  • A diretiva api que fornece interface HTTP RESTful para acessar em formatos JSON ou Prometheus informações básicas sobre uma instância de servidor web, bem como métricas de conexões de cliente, zonas de memória compartilhada, consultas DNS, requisições HTTP, cache de respostas HTTP, sessões TCP/UDP do módulo stream, zonas dos módulos limit_conn/limit_req, e grupos de servidores upstream HTTP.

  • A opção resolve da diretiva server no bloco upstream do módulo HTTP que permite monitorar mudanças na lista de endereços IP correspondentes a um nome de domínio, e atualizá-la automaticamente sem a necessidade de recarregar a configuração.

  • A opção service da diretiva server no bloco upstream do módulo HTTP que permite recuperar listas de endereços de registros DNS SRV, com suporte básico de prioridade.

  • A diretiva status_zone no módulo HTTP para especificar zona para coletar métricas de requisição nos contextos server e location.

  • A diretiva status_zone no módulo stream para especificar zona para coletar métricas de sessão TCP/UDP.

  • O parâmetro status_zone da diretiva resolver para especificar zona para coletar métricas sobre consultas DNS.

  • autoindex usa ordem de classificação natural para listagens de diretório.

  • Configuração arbitrária da assinatura em páginas de erro padrão e o campo de cabeçalho de resposta Server através da diretiva server_tokens.

  • A variável $angie_version com a versão do Angie.

  • Toda a funcionalidade do nginx 1.23.3.

Pacotes#

07.04.2023

  • Adicionados pacotes para ALT Linux.

12.05.2023

26.05.2023

  • Adicionados pacotes para Astra Linux Special Edition.

13.06.2023

12.07.2023

31.07.2023