Histórico de Versões do Angie#
2026#
Angie 1.11.3#
Data de lançamento: 06.02.2026. Um atacante em uma posição de intermediário (MITM) antes de um servidor proxy
usando TLS, dadas condições além do controle do atacante, poderia injetar
dados em texto simples na resposta antes do início do handshake TLS
(CVE-2026-1642);
a correção foi portada do nginx 1.29.5. Atualizados: angie-module-jwt, para a versão 3.4.4Segurança#
Pacotes#
Angie 1.11.2#
Data de lançamento: 15.01.2026. Se o BPF estivesse desabilitado, requisições HTTP/3 poderiam falhar com o erro
Requisições HTTP/3 não eram aceitas ao escutar em um endereço
wildcard IPv6 com BPF habilitado;
o bug havia aparecido na versão 1.11.0. Quando um nome de domínio era especificado na diretiva docker_endpoint,
conexões com a API Docker e atualizações dos grupos de servidores
upstream não ocorriam. Atualizados: angie-module-cache-purge, para versão 2.5.5 02.02.2026 Atualizados: angie-module-njs, para versão 0.9.5Correções#
[alert] sendmsg() failed (90: Message too large) while sending frames;
o bug havia aparecido na versão 1.11.0.Pacotes#
2025#
Angie 1.11.1#
Data de lançamento: 30.12.2025. Agora, se apenas a porta sem IP for especificada (valor padrão) na
diretiva acme_http_port e houver
blocos Requisições HTTP/2 não eram contadas nas estatísticas de zona de servidor;
o bug havia aparecido na versão 1.11.0. Quando um cliente ACME estava desabilitado na configuração e não tinha
certificado obtido anteriormente, uma requisição da API de estatísticas para esse
cliente poderia travar um processo worker. Se as variáveis Atualizados: angie-module-vts, para versão v0.2.5Mudanças#
server escutando nessa porta, o tratamento de desafio HTTP
para a porta no ACME funciona apenas nos endereços IP configurados nas
diretivas listen desses blocos; não haverá tentativa
de escutar em todos os endereços IP, como era antes; isso torna
a configuração mais flexível e previne o problema com atualização de
versões anteriores com configurações onde havia apenas
blocos server escutando na porta 80 e endereços IP
específicos.Correções#
$http_host ou $cookie_* fossem usadas como
chaves na diretiva status_zone dentro do bloco server,
requisições HTTP/3 poderiam não ser contadas nesta zona de status.Pacotes#
Angie 1.11.0#
Data de lançamento: 24.12.2025. A variável Se todos os servidores HTTP em um grupo O parâmetro O tamanho máximo de resposta do servidor ACME agora é limitado
pela diretiva acme_max_response_size em vez do
parâmetro O valor padrão da diretiva variables_hash_max_size
no módulo HTTP foi aumentado para O novo módulo Metric permite coleta arbitrária de métricas HTTP em tempo real
com métodos de agregação totalmente configuráveis
(contadores, histogramas, médias móveis, etc.); permite rastrear qualquer
dado de processamento de requisição em qualquer estágio, agrupado por chaves personalizadas, e
expõe as métricas via seção da API Suporte para validação ALPN para ACME, habilitado especificando
Informações sobre clientes ACME e procedimento de solicitação de certificado
na seção Adicionado suporte para Encrypted Client Hello (ECH) nos módulos SSL
HTTP e stream; a nova diretiva ssl_encrypted_hello_key
especifica o arquivo com a chave privada; a variável Conversão do formato de imagem usando o parâmetro Suporte para formatos AVIF e HEIC no módulo
Image Filter. Suporte para PROXY protocol V2 com conexões de servidor upstream
no módulo stream e a capacidade de definir valores TLV arbitrários
usando a diretiva proxy_protocol_tlv que permite uma string
com variáveis. A variável Removida a necessidade de definir um bloco Capacidade de contar o número de itens em listas e objetos
ao exportar métricas Prometheus; caminhos terminando com uma barra final
agora retornam a contagem de itens na coleção da API correspondente. A variável Suporte aos mecanismos de autenticação XOAUTH2 e OAUTHBEARER no
módulo proxy de mail.
Agradecimentos a Rob Mueller e Maxim Dounin (freenginx). O parâmetro No módulo ACME, o tamanho aproximado de um certificado renovado
agora é calculado automaticamente, eliminando a necessidade de
aumentar o parâmetro A variável Suporte para compilação com biblioteca SSL AWS-LC.
Agradecimentos a Piotr Sikora (piotr at aviatrix.com). O novo alvo Makefile Toda a funcionalidade do nginx 1.29.3 exceto as
diretivas Os procedimentos de reload e atualização binária agora funcionam
corretamente com conexões HTTP/3; as conexões são adequadamente roteadas para
todos os processos existentes usando o módulo BPF. Se todos os servidores em um grupo Se o caminho na diretiva try_files fosse mais curto que um
prefixo no bloco Se um cliente ACME não fosse referenciado em um bloco Se a preservação do índice de cache em um arquivo estivesse configurada,
o teste de configuração durante a operação poderia terminar com erros
A diretiva proxy_method era ignorada se
A duração do tempo limite especificado pela opção O Angie não podia ser compilado no Carregar módulos compilados para Angie PRO poderia causar problemas e
travamentos devido à incompatibilidade de ABI; agora tais configurações incorretas
são proibidas com uma mensagem de erro relevante. Atualizados: angie-module-echo, para versão v0.64Mudanças#
$http_host em requisições HTTP/3 agora é
inicializada a partir do valor do pseudo-cabeçalho :authority se o
cabeçalho Host não foi passado, o que é normal para clientes;
anteriormente, diferenças de versões anteriores do protocolo poderiam causar
problemas em configurações com $http_host.upstream estiverem indisponíveis ou
retornando um erro, a própria página de erro agora é sempre retornada em vez
da resposta do último servidor ao receber um status
considerado um erro de acordo com a
diretiva proxy_next_upstream
(e similares); isso garante comportamento consistente em todos os casos.REQUEST_METHOD nos arquivos de configuração fastcgi.conf,
fastcgi_params, uwsgi_params e scgi_params
agora é definido via variável $upstream_request_method, que
assume o valor GET para requisições HEAD quando o cache está configurado;
isso previne um problema onde uma requisição HEAD poderia anteriormente resultar
no armazenamento de uma resposta vazia, que seria então servida para requisições GET,
já que o método de requisição não faz parte da chave de cache em
configurações comuns.max_cert_size= da diretiva acme_client; o
valor padrão é suficiente para a maioria dos casos, mas se uma atualização de certificado
terminar com a mensagem de erro [error] too big subrequest response while sending
to client, seu valor deve ser aumentado.2048 para reduzir a
possibilidade de um aviso sobre construção de hash não ideal devido a novas
variáveis adicionadas durante os anos recentes: [warn] could not build
optimal variables_hash, you should increase either
variables_hash_max_size: 1024 or variables_hash_bucket_size: 64;
ignoring variables_hash_bucket_size.Recursos#
/status/http/metric_zones/
(incluindo suporte a Prometheus), fornecendo uma poderosa ferramenta de
análise integrada para todo o tráfego HTTP.alpn no parâmetro challenge da
diretiva acme_client;
permite solicitar certificados multi-domínio mantendo apenas a
porta HTTPS aberta./status/http/acme_clients/ da
API de estatísticas (com suporte a Prometheus).$ssl_encrypted_hello
contém informações sobre o uso de ECH.
Agradecimentos a Maxim Dounin (freenginx).convert
para a diretiva image_filter.$upstream_request_method que contém o
método de requisição upstream, que pode ser diferente do método de
requisição do cliente quando o cache está habilitado ou o
proxy_method está definido;
isso ajuda a evitar o problema comum de configuração onde uma resposta vazia
HEAD em cache é servida para requisições GET, bem como evitar cache
de respostas HEAD e GET separadamente.server separado com uma
diretiva listen 80 para desafios HTTP ACME; a porta de escuta
pode ser personalizada usando a diretiva acme_http_port se
necessário.$sent_body contendo o corpo da resposta de uma
subrequisição ou requisição externa pelo módulo client.route da diretiva sticky agora pode
incluir strings arbitrárias com qualquer número de variáveis.max_cert_size da
diretiva acme_client
ao emitir um certificado com um número muito grande de domínios; o
parâmetro é mantido para casos onde configuração manual ainda é
necessária.$upstream_cache_key que contém a chave de
cache sendo usada.
Agradecimentos a Kirill A. Korinsky e Maxim Dounin (freenginx).test executando a suíte de testes.add_header_inherit e add_trailer_inherit, que são
omitidas devido ao seu design inadequado.Correções#
upstream estivessem indisponíveis ou
retornando um erro, então receber uma resposta com erro do
último poderia ser considerado um sucesso apesar das
configurações da diretiva proxy_next_upstream.location relevante, então usar um
proxy_pass com uma URI poderia travar um processo worker; a correção foi portada do
nginx 1.29.4.stream via
qualquer diretiva acme, usar qualquer uma das
variáveis $acme_cert_* correspondentes nesse bloco faria com que a configuração fosse rejeitada
com um erro unknown variable; o bug havia aparecido na versão 1.10.3.[alert] mmap() failed (17: File exists) e [alert] munmap()
failed (22: Invalid argument).proxy_cache_convert_head on fosse acionado.fail_timeout
da diretiva server dentro de um bloco upstream era
na verdade um segundo mais longa.NetBSD 10.0.
Agradecimentos a Maxim Dounin (freenginx).Pacotes#
Angie 1.10.3#
Data de lançamento: 13.11.2025. O processamento de login/senha especialmente criado ao usar
o método de autenticação Quando a opção Se um cliente ACME fosse referenciado no bloco Se todas as diretivas acme_client tivessem o parâmetro Se o cliente ACME fosse usado no bloco Algumas configurações de bloco Atualizados: angie-module-cache-purge, para versão 2.5.4 angie-module-cgi, para versão v0.14.1 angie-module-lua, para versão 0.10.29 angie-module-njs, para versão 0.9.4Segurança#
none no módulo SMTP pode causar
divulgação de memória do processo worker para o servidor de autenticação
(CVE-2025-53859); a correção foi portada do nginx 1.29.1.Correções#
renew_on_load da diretiva acme_client
era usada, um certificado obtido anteriormente não seria
carregado se existisse. Isso poderia limitar a funcionalidade até que
a renovação do certificado fosse concluída. Se o certificado não existisse,
as tentativas de obter um novo falhariam com o erro [alert]
lseek() failed (9: Bad file descriptor).stream mas
não no bloco http, ele era desabilitado com o aviso [warn] ACME
client ... is defined but not used e nunca buscaria um
certificado.enabled=off
e as variáveis $acme_cert_* relevantes fossem usadas na
configuração, o Angie não iniciaria, relatando o erro [emerg]
unknown acme_cert_* variable.stream que vinha
antes de um bloco http, o Angie não iniciaria, relatando o erro
[emerg] ACME client .. is not defined but referenced.client podem causar
travamentos de processos worker ao usar variáveis que se referem a uma conexão
de entrada ausente neste caso.Pacotes#
Angie 1.10.2#
Data de lançamento: 21.08.2025. Configurações do módulo proxy no bloco Habilitar proxy_ignore_client_abort junto com módulos
que usam o bloco 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. Módulos dinâmicos adicionados: Atualizados: angie-module-opentracing, para versão 0.41.0Correções#
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.client para requisições de saída poderia levar a
travamentos do processo worker; o bug havia aparecido na versão 1.10.0.Pacotes#
Angie 1.10.1#
Data de lançamento: 17.07.2025. Diretivas especificadas no bloco Suporte para múltiplos blocos Quando o parâmetro Um handshake HTTP/3 com um servidor upstream poderia falhar com a biblioteca OpenSSL
versão 3.5.0 ou posterior se o modo Compilar os módulos Compilar com a flag Mudanças#
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#
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#
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.retry do protocolo QUIC estivesse ativo no
servidor.HTTP/2 e HTTP/3 usando GCC 15 resultava
em um erro.-O3 poderia resultar em um erro ao usar GCC.
Angie 1.10.0#
Data de lançamento: 03.07.2025. 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 de um grupo
Suporte para aquisição automática de certificados no módulo Suporte para tratamento de conexões MPTCP usando o parâmetro Novo bloco client, que permite especificação de configuração
adicional para requisições HTTP internas emitidas por vários módulos. Inclui toda a funcionalidade do nginx 1.27.5,
incluindo controle de congestionamento CUBIC para conexões QUIC. Atualizados: angie-console-light, para versão 1.8.0 angie-module-cgi, para versão 0.13 angie-module-otel, para versão 0.1.2 14.07.2025 Atualizados: angie-module-headers-more, para versão v0.39 angie-module-njs,
angie-module-njs-light, para versão 0.9.1Recursos#
upstream baseado em suas labels — tudo sem exigir um reload de configuração.stream
via protocolo ACME, configurado com a diretiva acme e
variáveis como $acme_cert_* e
$acme_cert_key_*.multipath
da diretiva listen.
Agradecimentos a Maxim Dounin (freenginx), Maxime Dourov e Anthony Doeraene.Pacotes#
Angie 1.9.1#
Data de lançamento: 29.05.2025. Suporte para endereços IP junto com números de porta na diretiva acme_dns_port;
tanto IPv4 quanto IPv6 são permitidos. Usar tanto um domínio wildcard quanto domínios de terceiro nível correspondentes em
diretivas server_name poderia fazer com que o servidor ACME falhasse ao
emitir um certificado para esses domínios sob um único cliente ACME. No módulo Requisições HTTP/3 poderiam travar e expirar; a correção foi portada do nginx
1.29.0. Um erro precoce ao estabelecer uma conexão HTTP/3 com um servidor proxy
poderia causar crash do processo worker. Ao fazer proxy via o protocolo HTTP/3, o número de conexões ativas
nas estatísticas poderia ser exibido incorretamente. Módulos dinâmicos adicionados: Atualizados: angie-module-auth-spnego, para versão 1.1.3 angie-module-cgi, para versão 0.12.1 angie-module-modsecurity, para versão 1.0.4 angie-module-njs, para versão 0.9.0 angie-module-opentracing, para versão 0.40.0Recursos#
Correções#
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é o fim da sessão.Pacotes#
Angie 1.9.0#
Data de lançamento: 11.04.2025. A capacidade de especificar um arquivo na diretiva proxy_cache_path, onde
o conteúdo da zona de memória compartilhada com o índice do cache será salvo
entre reinicializaçõ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. Suporte de TLS 1.3 Early Data (0-RTT) no módulo Novo estado O parâmetro O parâmetro O tempo de compilação agora é exibido via o campo Toda a funcionalidade do nginx 1.27.4, exceto
pela diretiva O parâmetro O erro Se compilado com suporte NTLS, a herança das diretivas Atualizados: angie-module-cgi, para versão 0.11.1 angie-module-njs, para versão 0.8.10Funcionalidades#
stream usando a
diretiva ssl_early_data.busy para peers upstream na API de estatísticas, indicando
que um peer atingiu o limite configurado pela opção max_conns.uri= na diretiva acme_hook permite redefinir
a URI da requisição do hook e suporta variáveis.renew_on_load da diretiva acme_client permite
forçar a renovação do certificado ao carregar a configuração.build_time do
objeto da API de estatísticas /status/angie e na saída da
opção de linha de comando -V.keepalive_min_timeout (uma funcionalidade similar existe
desde a versão 1.8.0).Mudanças#
enabled=off na diretiva acme_client agora
desabilita apenas a renovação de certificado para o cliente em questão enquanto preserva toda
outra funcionalidade; a chave e o certificado (se disponíveis) podem ser acessados
via as variáveis $acme_cert_*, enquanto o uso de variáveis $acme_hook_*
e as diretivas acme não causam erros.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#
proxy_ssl_certificate
e proxy_ssl_certificate_key com variáveis não funcionava
adequadamente.Pacotes#
Angie 1.8.3#
Data de lançamento: 02.04.2025. As estatísticas de status_zone no bloco server do módulo HTTP poderiam ser
calculadas incorretamente se 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. Atualizados: angie-console-light, para versão 1.7.0 angie-module-cgi, para versão 57f660bb2c6ef6e4b75c65406080d0236860ca08 angie-module-jwt, para versão v3.4.3 angie-module-ndk, para versão v0.3.4 angie-module-opentracing, para versão v0.39.0 angie-module-vts, para versão v0.2.4 04.04.2025 Atualizados: angie-console-light, para versão 1.7.1 07.04.2025 Atualizados: angie-console-light, para versão 1.7.2Correções de bugs#
Pacotes#
Angie 1.8.2#
Data de lançamento: 13.02.2025. Validação insuficiente ao tratar servidores virtuais com TLSv1.3 SNI
permitia que sessões SSL fossem reutilizadas em um servidor virtual diferente,
contornando a verificação de certificado SSL do cliente (CVE-2025-23419);
a correção foi portada do nginx 1.27.4. Requisições de API para recuperar valores de estatísticas de uma zona individual,
que foi definida via variáveis,
poderiam fazer com que um processo worker entrasse em um loop infinito. 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 o protocolo QUIC não eram contados nas estatísticas SSL. A renovação de certificado via o protocolo ACME poderia falhar
para nomes de servidor prefixados com um ponto na diretiva server_name. Módulos dinâmicos adicionados:Segurança#
Correções de bugs#
Pacotes#
2024#
Angie 1.8.1#
Data de lançamento: 28.12.2024. Usar a diretiva status_zone no bloco Erros de decodificação em stream HTTP/3 poderiam causar crash do processo worker ao
fechar uma conexão QUIC; a correção foi portada do nginx 1.27.4. Enviar 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 desafio DNS sem hooks no módulo ACME poderia
causar crash do processo worker em algumas configurações. Atualizados: angie-module-auth-jwt, para versão 0.9.0 23.01.2025 Atualizados: angie-console-light, para versão 1.6.0 27.01.2025 Módulos dinâmicos adicionados: Atualizados: angie-console-light, para versão 1.6.1 angie-module-auth-spnego, para versão v1.1.2 angie-module-headers-more, para versão v0.38 angie-module-lua, para versão 0.10.28 angie-module-njs, para versão 0.8.9 angie-module-vts, para versão v0.2.3 angie-module-wasm, para versão v0.2-beta2Correções de bugs#
server do
módulo HTTP causava registro excessivo de requisições vazias em access_log em
handshakes TLS; o bug havia aparecido na versão 1.8.0.Pacotes#
Angie 1.8.0#
Data de lançamento: 19.12.2024. Suporte para desafios Sistema de hooks no módulo ACME, configurável usando a diretiva acme_hook,
que permite o tratamento de desafios de nomes 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 (por exemplo, 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 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 Compatibilidade do módulo de compressão HTTP GZip com as versões A diretiva max_headers que limita o número de campos de cabeçalho de requisiçã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 dinâmica de cabeçalho HTTP/3. Suporte para 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. Clientes HTTP/3 poderiam expirar ao usar Proxy com HTTP/3 usando variáveis na diretiva proxy_pass e
sem especificar um bloco Upstreams HTTP/3 usando tabela dinâmica poderiam levar a falha do processo worker se
usados com cache. Alguns handshakes SSL poderiam não ser contados nas estatísticas do módulo Stream. Configurações de proxy HTTP/3 especificadas no nível A diretiva proxy_ssl_certificate não funcionava ao fazer proxy via
HTTP/3 com suporte NTLS habilitado. 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 naquele 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. Módulos dinâmicos adicionados: Atualizados: angie-module-auth-jwt, para versão 0.8.0 angie-module-jwt, para versão 3.4.2 angie-module-njs, para versão 0.8.8 angie-module-opentracing, para versão 0.38.0 angie-module-wasm, para versão 0.1-beta5Funcionalidades#
DNS-01 através do tratamento de consultas DNS do servidor ACME,
o que permite solicitar automaticamente certificados de qualquer tipo,
incluindo certificados wildcard.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.location ou server; em particular, é
especialmente útil quando um único bloco server está tratando múltiplos
hosts virtuais.zlib-ng
2.2.0 e superiores, que anteriormente poderiam causar mensagens [alert] gzip filter
failed to use preallocated memory no log de erros.Correções de bugs#
0-RTT; o bug foi herdado
do nginx na versão 1.7.0.upstream poderia causar falha do processo worker.http ou server poderiam
ser ignoradas.Mudanças#
Pacotes#
Angie 1.7.0#
Data de lançamento: 19.09.2024. Fechamento forçado de todas as conexões para um servidor proxy quando ele é removido do
grupo pode ser configurado via as diretivas proxy_connection_drop,
grpc_connection_drop, fastcgi_connection_drop,
scgi_connection_drop, e uwsgi_connection_drop. Contadores de tipos de consulta DNS enviados na API de estatísticas do resolver, que é
coletada com o parâmetro 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 Criação do arquivo PID tornada atômica via um arquivo temporário intermediário, o que
remove um momento em que 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, isso permite evitar problemas em sistemas que migram
de 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 Mail proxy, 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 opção --feature-cache do
script ./configure para armazenar em cache seus resultados para otimização ao
construir múltiplos módulos ou fazer compilação cruzada. Toda a funcionalidade do nginx 1.27.1. Erros Descrições atualizadas 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 requisiçã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 de um servidor proxy agora causarão uma
resposta de erro. Agradecimentos a Maxim Dounin (freenginx) e Maksim Yevmenkin. Ao ler um corpo de requisição usando codificação de transferência HTTP/1.1 chunked, o
tamanho total de extensões de chunk ignoradas e campos de cabeçalho de 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 Atualizados: angie-module-opentracing, para versão 0.36.0 angie-module-lua, para versão 0.10.27 24.10.2024 Adicionados pacotes para SberLinux. 29.11.2024 Adicionado suporte WASM com os seguintes pacotes:Funcionalidades#
status_zone da diretiva resolver.off da
diretiva pid, o que pode ser benéfico com imagens imutáveis e
controle direto por um gerenciador de serviços. Agradecimentos a Maxim Dounin (freenginx)./var/run/angie.pid para /run/angie.pid. Agradecimentos a Maxim
Dounin (freenginx).Correções de bugs#
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#
mime.types foi alterado para
image/bmp para a extensão bmp e
application/vnd.rar para a extensão rar; definido para
application/vnd.debian.binary-package para as extensões deb e
udeb. Agradecimentos a Yuriy Izorkin.Pacotes#
Angie 1.6.2#
Data de lançamento: 16.08.2024. O processamento de um arquivo MP4 especialmente criado com o
ngx_http_mp4_module
poderia causar uma falha do processo worker
(CVE-2024-7347);
a correção foi portada do nginx 1.27.1.Segurança#
Angie 1.6.1#
Data de lançamento: 08.08.2024. Um novo contador Ao usar servidores virtuais ou as diretivas pass no
módulo stream,
conexões poderiam ser contabilizadas incorretamente na API de estatísticas. 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 Atualizados: angie-console-light, para versão 1.4.0 angie-module-opentracing, para versão 0.35.3 angie-module-zstd, para revisão Funcionalidades#
passed nas
estatísticas da API
da diretiva status_zone do módulo stream
rastreia conexões passadas para outros sockets
usando diretivas pass.Correções de bugs#
X-Accel-Redirect
poderia causar falha do processo worker.
Agradecimentos a Maxim Dounin (freenginx) e Jiří Setnička.Pacotes#
f4ba115
Angie 1.6.0#
Data de lançamento: 28.06.2024. A diretiva sticky e opções relacionadas
no bloco upstream do módulo stream,
que permitem configurar o modo de sessões persistentes
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. 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 Toda a funcionalidade do nginx 1.27.0,
incluindo suporte para servidores virtuais no módulo stream
e a diretiva Requisição de certificado via protocolo ACME poderia resultar em
erro em algumas configurações com uma mensagem de log como
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
Clientes ACME em configurações
com múltiplas diretivas error_log
poderiam registrar mensagens em logs irrelevantes. Atualizados: angie-module-auth-jwt, para versão 0.7.0 angie-module-auth-ldap, para revisão angie-module-jwt, para versão 3.4.1 angie-module-keyval, para versão 0.3.0 angie-module-lua:
angie-module-njs, para versão 0.8.5Funcionalidades#
-m e -M
para listar módulos integrados e carregados.pass,
que permite passar conexões aceitas
para manuseio por outros sockets de escuta,
incluindo módulos HTTP e Mail.Correções de bugs#
[alert] getsockname() failed (9: Bad file descriptor).[error] JSON parser error.Pacotes#
241200estream_lua_module, para revisão bea8a0c
Angie 1.5.2#
Data de lançamento: 03.06.2024. Ao usar HTTP/3, o processamento de uma sessão QUIC
especialmente criada poderia causar uma falha do 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. Atualizados: angie-module-opentracing, para versão 0.35.2Segurança#
Pacotes#
Angie 1.5.1#
Data de lançamento: 16.05.2024. O mecanismo Ao solicitar um certificado via protocolo ACME, uma
falha de segmentação poderia ocorrer em um processo worker. 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. 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). Agora os clientes ACME não descartam certificados armazenados anteriormente
que estavam expirados ou emitidos para uma lista de domínios diferente,
mas os usam durante a renovação. 27.05.2024 Adicionados pacotes para Alpine 3.20.Correções de bugs#
proxy_next_upstream não funcionava corretamente ao usar
a opção resolve da diretiva server
no bloco upstream se
o número de endereços IP resolvidos diferisse do número de servidores especificados.Mudanças#
Pacotes#
Angie 1.5.0#
Data de lançamento: 27.03.2024. 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_=. 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 Novo estado Agora a opção Toda a funcionalidade do nginx 1.25.4. Se o mecanismo de reutilização de sessão SSL (proxy_ssl_session_reuse) fosse usado e
a lista de servidores proxy fosse atualizada dinamicamente, um vazamento poderia ocorrer na
zona de memória compartilhada ( Adicionados pacotes para FreeBSD 13 (arm64),
RED OS 8 (x86-64). Módulos dinâmicos adicionados: Atualizados: angie-module-opentracing, para versão 0.34.0 28.03.2024 Atualizados: angie-console-light, para versão 1.3.0 16.04.2024 Módulos dinâmicos adicionados: Atualizados: angie-module-njs, para versão 0.8.4 25.04.2024 Módulos dinâmicos adicionados: angie-module-vts: inclui
module-vts,
module-sts,
module-stream-stsFuncionalidades#
?date-epoch.recovering para peers upstream na API de
estatísticas, indicando que um peer está iniciando lentamente após uma falha, como
sugerido pela opção slow_start.-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.Correções de bugs#
zone) configurada para o bloco upstream correspondente.Pacotes#
Angie 1.4.1#
Data de lançamento: 15.02.2024. Ao usar HTTP/3, um erro de segmentação poderia ter ocorrido em um processo worker
durante o processamento de uma sessão QUIC especialmente criada
(CVE-2024-24989);
note que o Angie a partir da versão 1.4.0 já não é vulnerável ao
CVE-2024-24990. Módulos dinâmicos adicionados: Atualizados: angie-module-njs, para versão 0.8.3 angie-module-vod, para versão 1.33Segurança#
Pacotes#
2023#
Angie 1.4.0#
Data de lançamento: 12.12.2023. 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 Um mecanismo para colocar o servidor proxy online suavemente
após uma falha usando a opção 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. Se um servidor proxy fosse o único em um grupo, ele poderia ser
incorretamente relatado como Adicionados pacotes para Alpine 3.19. Módulos dinâmicos adicionados: Atualizados: angie-module-auth-jwt, para versão 0.4.0 angie-module-headers-more, para versão 0.36 angie-module-ndk, para versão 0.3.3 angie-module-opentracing, para versão 0.33.0 18.12.2023 Atualizados: angie-console-light, para versão 1.2.0 25.12.2023 Atualizados: angie-console-light, para versão 1.2.1 22.01.2024 Módulos dinâmicos adicionados: Atualizados: angie-module-auth-jwt, para versão 0.6.0 angie-module-headers-more, para versão 0.37 angie-module-lua:
Recursos#
proxy_quic_ e proxy_http3_.slow_start da diretiva server
no bloco upstream.Correções de bugs#
unavailable na
API de métricas
mesmo após a recuperação.Pacotes#
http_lua_module, para versão 0.10.26;
stream_lua_module, para versão 0.0.14
Angie 1.3.2#
Data de lançamento: 23.11.2023. possíveis valores incorretos de métricas na saída do Prometheus
que usavam variáveis diferentes de 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. 04.12.2023 Módulos dinâmicos adicionados: 07.12.2023 Atualizados: angie-console-light, para versão 1.1.1Correções de bugs#
$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.Pacotes#
Angie 1.3.1#
Data de lançamento: 18.10.2023. Adicionadas limitações extras ao manuseio de stream HTTP/2 para melhor proteção
contra o ataque DoS conhecido como "HTTP/2 Rapid Reset" (CVE-2023-44487). 26.10.2023 Módulos dinâmicos adicionados: 13.11.2023 Módulos dinâmicos adicionados: Atualizados: angie-console-light, para versão 1.1.0 angie-module-headers-more, para versão 0.35 angie-module-njs, para versão 0.8.2 angie-module-vod, para versão 1.32Segurança#
Pacotes#
Angie 1.3.0#
Data de lançamento: 19.09.2023. Capacidade de especificar múltiplos padrões de correspondência na diretiva Exportação de métricas de estatísticas variadas em formato Prometheus com configuração
flexível de template usando as novas diretivas prometheus e
prometheus_template. Informações detalhadas e métricas para
grupos de servidores upstream stream na interface de estatísticas fornecida pela
diretiva api. A opção resolve da diretiva A opção service da diretiva Acesso ao conteúdo dos 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, o que permite monitorar o sucesso de
recarregamentos de configuração e o número de gerações anteriores de processos worker
usando o utilitário Toda a funcionalidade do nginx 1.25.2. A compilação falhava quando as opções Agora o appname Atualizados: angie-module-njs, para versão 0.8.1Recursos#
location,
o que permite combinar vários blocos location
com configurações similares e, portanto, simplificar a configuração reduzindo
duplicação.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.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.ps.Correção de bug#
./configure
--without-http_upstream_zone_module ou
--without-stream_upstream_zone_module eram usadas; o bug havia aparecido na versão 1.2.0.Mudanças#
angie é usado
ao carregar a configuração do OpenSSL.Pacotes#
Angie 1.2.0#
Data de lançamento: 30.05.2023. A diretiva sticky e opções relacionadas no bloco upstream do módulo HTTP que permitem configurar o modo de sessões sticky, onde todas as requisições dentro de uma sessão são roteadas para o
mesmo servidor. A variável $upstream_sticky_status que assume valores Suporte para NTLS nos módulos HTTP e stream
ao usar a biblioteca TLS TongSuo; o suporte pode
ser habilitado através da opção de tempo de compilação Nos módulos de proxy HTTP e stream, 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 A capacidade do módulo gzip de compactar respostas "207 Multi-Status". Agradecimentos a DBotThePony. Toda a funcionalidade do nginx 1.25.0,
incluindo suporte a HTTP/3. Adicionados pacotes para Ubuntu 23.04 "Lunar Lobster". Módulos dinâmicos adicionados: O pacote 13.06.2023 Adicionados pacotes para Debian 12 "Bookworm" e
AlmaLinux. 12.07.2023 Módulos dinâmicos adicionados: Atualizados: angie-module-njs, para versão 0.8.0. 28.07.2023 Módulos dinâmicos adicionados: 18.08.2023 Módulos dinâmicos adicionados:Recursos#
NEW,
HIT ou MISS dependendo do sucesso do roteamento da requisição ao servidor
upstream relevante com sessões sticky habilitadas.‑‑with‑ntls e configurado com as
diretivas correspondentes ssl_ntls e proxy_ssl_ntls.master, que
permite obter essas informações sobre uma instância de servidor em execução usando o
utilitário ps.Pacotes#
angie-module-lua inclui
http_lua_module
e
stream_lua_module.
Angie 1.1.0#
Data de lançamento: 24.01.2023. 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. Informações detalhadas e métricas para os grupos de
servidores upstream HTTP na interface de estatísticas fornecida pela diretiva api. autoindex usa ordem de classificação natural para listagens de diretório. Toda a funcionalidade do nginx 1.23.3. A compilação falhava devido a um aviso falso ao usar GCC 9 ou anterior com a
otimização -O2 ou superior. 15.03.2023 Módulos dinâmicos adicionados: 07.04.2023 Adicionados pacotes para ALT Linux. 11.05.2023 Adicionados pacotes para FreeBSD. Módulos dinâmicos adicionados: 26.05.2023 Adicionados pacotes para Astra Linux Special Edition.Recursos#
Correção de bug#
Pacotes#
2022#
Angie 1.0.0#
Data de lançamento: 27.10.2022. A diretiva api que fornece uma interface HTTP RESTful para acessar
em formato JSON 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, e zonas dos módulos limit_conn/limit_req. A diretiva status_zone no módulo HTTP
para especificar uma zona para coletar métricas de requisição nos contextos server e
location. A diretiva status_zone no módulo stream para especificar uma zona para coletar métricas de sessão TCP/UDP. O parâmetro status_zone da diretiva resolver
para especificar uma zona para coletar métricas sobre consultas DNS. A variável $angie_version com a versão do Angie. Toda a funcionalidade do nginx 1.23.2.Recursos#