Foi lançada a versão do servidor HTTP de alto desempenho e proxy multi-protocolo Angie 1.8.0, desdobrada do Nginx por um grupo de ex-desenvolvedores do projeto que deixaram a empresa F5 Network. Os códigos-fonte do Angie estão disponíveis sob a licença BSD. O projeto recebeu certificados de compatibilidade com sistemas operacionais russos como Red OS, Astra Linux Special Edition, Roca Chrome Server, Alt e a versão do FSTEC do Alt.
O desenvolvimento é mantido pela empresa 'Web-Server', criada no outono de 2022 e que recebeu um investimento de 1 milhão de dólares. Entre os co-proprietários da Web-Server estão: Valentin Bartenev (líder da equipe que desenvolveu o produto Nginx Unit), Ivan Poluianov (ex-chefe dos desenvolvedores front-end da Rambler e Mail.Ru), Oleg Mamontov (chefe da equipe de suporte técnico da NGINX Inc) e Ruslan Ermilov (ru@FreeBSD.org).
Mudanças no Angie 1.8.0:
- Ampliadas as funcionalidades do módulo http_acme, destinado à automação de obtenção e atualização de certificados do provedor Let's Encrypt, que utiliza o protocolo ACME (Automatic Certificate Management Environment):
- Adicionada a suporte ao método de verificação DNS-01, necessário para obter certificados com máscaras que abrangem um grupo de subdomínios (por exemplo, *.example.com).
- Adicionada a diretiva "acme_hook", através da qual é possível configurar a chamada de aplicativos externos com manipuladores do processo de confirmação de domínio. Esses manipuladores podem ser usados para integração com serviços externos e provedores DNS.
- Para simplificar o diagnóstico, foram adicionadas informações adicionais ao log, como o motivo da atualização do certificado, a lista completa domínios, o identificador da conta do cliente, informações sobre inatividade e o domínio verificado.
- Na diretiva "acme_client" foi adicionado o parâmetro "account_key" para reuso da chave de acesso existente ao servidor ACME, em vez de gerar automaticamente uma nova chave.
- Implementada a possibilidade de especificar variáveis na diretiva "status_zone", aplicada nos módulos stream e http. As variáveis podem ser usadas para contabilizar dinamicamente estatísticas vinculadas a hosts virtuais específicos, definidos em um único bloco "location" ou "server". server { listen 80; server_name *.example.com; status_zone $host zone=host_zone:10; location / { proxy_pass http://example.com; } }
- No módulo de compressão gzip, a compatibilidade foi garantida com a biblioteca zlib-ng 2.2 e versões mais recentes.
- Da implementação do projeto freenginx, foi transferida a diretiva max_headers, limitando o número máximo de cabeçalhos HTTP em uma solicitação, o que pode ser útil para proteção contra ataques DoS.
- Adicionadas as diretrizes http3_max_table_capacity e proxy_http3_max_table_capacity para limitar o tamanho da tabela usada para compressão de cabeçalhos em HTTP/3.
- Adicionada a suportar a compilação cruzada — agora é possível realizar a compilação sem a necessidade de executar os scripts autotest na plataforma de destino.
- Do freenginx, foi movida uma alteração que resolve o problema de erros na entrega de respostas durante o encerramento suave dos processos manipuladores (gracefully shutdown) — as conexões keep-alive agora são fechadas apenas após o tempo limite definido na diretiva lingering_timeout.
- Para obter valores atualizados ao usar hosts virtuais, o cache das variáveis $ssl_server_name, $ssl_server_cert_type, $ssl_preread_protocol e $ssl_preread_server_name foi desativado no módulo stream.
- Mudanças sugeridas na versão nginx 1.27.3 foram transferidas do repositório do projeto nginx.
Fonte: opennet.ru
