Você está visualizando a documentação do Apigee Edge.
Acesse a
documentação da
Apigee X. info
Versão 3.3.x
Correções de bugs e melhorias na v.3.3.x
3.3.5
Na terça-feira, 24 de dezembro de 2024, lançamos as seguintes correções e melhorias na microgateway Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.3.5. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.3.5 | 3.3.5 | 3.3.5 | 3.3.5 | 3.2.2 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
383024578 | Recurso |
Adicionamos suporte à versão 22 do Node.js e removemos o suporte à versão 16. Se você estiver usando o Node.js v18, a Microgateway do Edge vai imprimir a seguinte mensagem de erro na inicialização: current nodejs version is 18.x.x Note, v18.x.x will be out of support soon, see https://docs.apigee.com/release/notes/edge-microgateway-release-notes-0 Se você estiver executando uma versão anterior do Node.js, verá esta mensagem de erro: You are using a version of NodeJS that is not supported |
Correção de problemas de segurança
- CVE-2024-21538
- CVE-2024-45590
- CVE-2019-3844
- CVE-2019-12290
- CVE-2020-1751
- CVE-2018-12886
- CVE-2023-50387
- CVE-2019-3843
- CVE-2022-4415
- CVE-2021-3997
Correções de bugs e melhorias na v.3.3.x
3.3.4
Em 18 de setembro de 2024, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.3.4. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.3.4 | 3.3.4 | 3.3.4 | 3.3.4 | 3.2.2 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
675987751 | Bug |
Correção de um problema em que o Edge Microgateway não registrava endereços IP de clientes. |
Correção de problemas de segurança
- CVE-2021-23337
- CVE-2024-4068
- CVE-2020-28469
- CVE-2020-28503
3.3.3
Em 25 de abril de 2024, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.3.3. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.3.3 | 3.3.3 | 3.3.3 | 3.3.3 | 3.2.2 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
315939218 | Removido |
O plug-in de cliente Eureka foi removido do microgateway do Edge. A remoção desse recurso não afeta a funcionalidade principal do Edge Microgateway nem a regravação de URLs de destino. Para mais detalhes, consulte Reescrever URLs de destino em plug-ins. |
283947053 | Removido |
O suporte a |
Correção de problemas de segurança
- CVE-2023-0842
- CVE-2023-26115
- CVE-2022-25883
- CVE-2017-20162
- CVE-2022-31129
- CVE-2022-23539
- CVE-2022-23541
- CVE-2022-23540
- CVE-2024-21484
- CVE-2022-46175
- CVE-2023-45133
- CVE-2020-15366
- CVE-2023-26136
- CVE-2023-26115
3.3.2
Em 18 de agosto de 2023, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.3.2. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.3.2 | 3.3.2 | 3.3.2 | 3.3.2 | 3.2.2 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
296187679 | Recurso |
As versões do Node.js com suporte incluem: 16, 18 e 20. A partir da versão 3.3.2, os comandos da CLI da Edge Microgateway só vão funcionar nas versões com suporte. A execução de comandos da CLI em versões sem suporte vai resultar em um erro. Consulte também Software e versões compatíveis com a Apigee. |
283947053 | Bug |
Foi corrigido um problema em que o microgateway do Edge retornava o primeiro produto de API na lista de produtos de API associados a um app. Agora, determinamos o produto de API correto a ser retornado com base na solicitação. |
274443329 | Bug |
Corrigimos um problema em que o Docker estava extraindo uma versão de imagem desatualizada.
A versão do nó do Docker foi atualizada para a versão 18 do Node.js. Agora, vamos criar a imagem
Docker com a versão |
Correção de problemas de segurança
Nenhum.
3.3.1
Em 7 de junho de 2022, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.3.1. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.3.1 | 3.3.1 | 3.3.1 | 3.3.1 | 3.2.2 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
220885293 | Recurso |
Agora há suporte para a versão 16 do Node.js. |
231972608 | Bug |
Foi corrigido um problema em que o comando |
233315475 | Bug |
Um problema foi corrigido em que o plug-in |
221432797 | Mudança |
A versão do Node.js do Docker da imagem de base do Edge Microgateway foi atualizada para o Node.js 14. |
215748732 | Recurso |
O suporte à autenticação de token SAML foi adicionado ao comando revokekeys.
Agora é possível transmitir um token SAML em vez de credenciais de nome de usuário e senha usando a opção Para mais detalhes, consulte a Referência da linha de comando. |
218723889 | Atualização de documento |
A documentação foi atualizada para incluir um link para os plug-ins compatíveis do Edge Microgateway armazenados no GitHub. Consulte Plug-ins incluídos no Edge Microgateway. |
Correção de problemas de segurança
ID do problema | Descrição |
---|---|
CVE-2021-23413 | Isso afeta o pacote jszip antes da versão 3.7.0. Criar um novo arquivo ZIP com nomes de arquivos definidos como valores de protótipo de objeto (por exemplo, proto, toString etc.) resulta em um objeto retornado com uma instância de protótipo modificada. |
3.3.0
Em 4 de fevereiro de 2022, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.3.0. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.3.0 | 3.3.0 | 3.3.0 | 3.3.0 | 3.2.2 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
219556824 | Problema conhecido | O gateway da Microgateway de borda 3.3.0 é incompatível com o comando npm audit fix.
A execução de
Se você executar
Para corrigir o problema, execute o comando
abaixo para restaurar a versão correta de npm install apigeetool@0.15.1 Esse problema será resolvido em uma versão futura do Edge Microgateway. |
138622990 | Recurso |
Uma nova flag para o plug-in de cota, |
192534424 | Bug |
Foi corrigido um problema em que o código de resposta mostrado na análise do Apigee não correspondia ao código de resposta do Edge Microgateway. |
198986036 | Melhoria | O Microgateway de borda agora busca a chave pública de um provedor de identidade (IDP) em cada intervalo de pesquisa e também atualiza a chave caso ela mude.
Anteriormente, o plug-in extauth não conseguia atualizar a chave pública sem recarregar o Edge Microgateway se a chave pública de um IDP fosse alterada.
|
168713541 | Bug |
A documentação foi aprimorada para explicar como configurar o TLS/SSL para vários destinos. Consulte Como usar as opções de SSL/TLS do cliente. |
171538483 | Bug |
A documentação foi alterada para corrigir a convenção de nomenclatura de arquivos de registro. Consulte Convenções de nomenclatura de arquivos de registro. |
157908466 | Bug |
A documentação foi alterada para explicar corretamente como instalar uma versão específica do Edge Microgateway. Consulte Como fazer upgrade do Edge Microgateway se você tiver uma conexão de Internet. |
215748427 | Bug | Correção de um problema em que o comando revokekeys retornava um erro ao revogar uma chave usando um par de chaves e segredos existente. |
205524197 | Bug | A documentação foi atualizada para incluir a lista completa de níveis de geração de registros. Consulte Atributos do edgemicro e Como definir o nível de registro. |
Versão 3.2.x
Correções de bugs e melhorias na v.3.2.x
3.2.3
Em 17 de setembro de 2021, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.2.3. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.2.3 | 3.2.3 | 3.2.3 | 3.2.3 | 3.2.2 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
192416584 | Recurso |
O atributo de configuração |
192799989 | Recurso |
O atributo de configuração |
148062415 | Bug | Um problema foi corrigido em que, em um contexto de contêiner do Docker, o Edge Microgateway não era encerrado
corretamente com o comando docker stop {containerId} . O processo
foi encerrado, mas os arquivos .sock e .pid não foram removidos. Agora
os arquivos são removidos e a reinicialização do mesmo contêiner funciona conforme o esperado.
|
190715670 | Bug | Foi corrigido um problema em que algumas solicitações ficavam presas durante a atividade de recarga interna
da microgateway. Esse problema era intermitente e ocorria em situações de tráfego intenso.
O problema foi observado quando os recursos tokenCache e cacheKey do plug-in OAuth foram usados.
|
183910111 | Bug | Foi corrigido um problema em que um URL de caminho de recurso com um caractere de barra incorreto era interpretado
incorretamente como um caminho de recurso separado. Agora, por exemplo, os caminhos
/country/all e /country/all/ são interpretados como o mesmo
caminho. |
Correção de problemas de segurança
ID do problema | Descrição |
---|---|
CVE-2020-28503 | Os copy-props do pacote anteriores à versão 2.0.5 são vulneráveis à poluição de protótipo pela funcionalidade principal. |
CVE-2021-23343 | Todas as versões do package-path-parse são vulneráveis a negação de serviço de expressão regular (ReDoS) por splitDeviceRe, splitTailRe e splitPathRe. A ReDoS apresenta complexidade de tempo polinomial no pior cenário. |
3.2.2
Na quinta-feira, 15 de julho de 2021, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.2.2. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.2.2 | 3.2.2 | 3.2.2 | 3.2.2 | 3.2.2 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
185323500 | Mudança |
O valor
As APIs de solicitação de token e de atualização de token agora retornam
Para obedecer ao
RFC 6749, a estrutura de autorização OAuth 2.0,
o valor esperado para o parâmetro de configuração |
188492065 | Mudança |
Fim do suporte ao Node.js 8
A partir da versão 3.2.2, o Node.js 8 não será mais compatível. Para mais informações, consulte Software e versões compatíveis: Edge Microgateway. |
183990345 | Recurso |
Configurar a saída de registro para o contêiner do Docker
O parâmetro de configuração do Edge Microgateway
to_console
permite que você escolha enviar informações de registro para a saída padrão em vez de um arquivo de registro. Se você seguir as etapas para executar o Edge Microgateway em um contêiner do Docker, o contêiner redirecionará por padrão a saída stdout e de erro para um arquivo localizado no contêiner no local:
Para impedir que as informações de registro sejam enviadas para Para saber como usar essa nova variável, consulte Como usar o Docker para Edge Microgateway. |
183057665 | Recurso |
Tornar os caminhos de arquivos edgemicro.pid e edgemicro.sock configuráveis.
Um novo parâmetro |
191352643 | Recurso | A imagem do Docker para o Edge Microgateway foi atualizada para usar a versão 12.22 do NodeJS. Consulte Como usar o Docker para o Edge Microgateway. |
Correção de problemas de segurança
ID do problema | Descrição |
---|---|
CVE-2021-28860 | No mixme do Node.js, antes da v0.5.1, um invasor pode adicionar ou alterar propriedades de um objeto usando "__proto__" nas funções mutate() e merge(). O atributo contaminado será atribuído diretamente a todos os objetos no programa. Isso coloca a disponibilidade do programa em risco, causando uma possível negação de serviço (DoS). |
CVE-2021-30246 | No pacote jsrsasign até a versão 10.1.13 para Node.js, algumas assinaturas RSA PKCS#1 v1.5 inválidas são reconhecidas por engano como válidas. OBSERVAÇÃO: não há ataque prático conhecido. |
CVE-2021-23358 | O sublinhado do pacote da versão 1.13.0-0 e anteriores à 1.13.0-2, da versão 1.3.2 e anteriores à 1.12.1 são vulneráveis à injeção de código arbitrário pela função de modelo, principalmente quando uma propriedade variável é transmitida como um argumento, porque ela não é limpa. |
CVE-2021-29469 | O Node-redis é um cliente Redis do Node.js. Antes da versão 3.1.1, quando um cliente estava no modo de monitoramento, a regex usada para detectar mensagens de monitoramento podia causar backtracking exponencial em algumas strings. Esse problema pode levar a uma negação de serviço. O problema foi corrigido na versão 3.1.1. |
CVE-2020-8174 | A imagem do Docker foi atualizada para usar a versão 12.22 do Node.js. |
3.2.1
Na sexta-feira, 5 de março de 2021, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.2.1. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.2.1 | 3.2.1 | 3.2.1 | 3.2.1 | 3.2.1 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
180362102 | Bug |
Foi corrigido um problema em que chaves JWK com um valor nulo faziam com que os aplicativos falhassem.
A condição nula agora é processada para evitar a transmissão de um valor nulo em Observação:para aplicar essa correção, é necessário fazer upgrade do proxy edgemicro-auth. |
179971737 | Bug |
Foi corrigido um problema em que as respostas de status 4XX / 5XX de destino eram registradas como erros de proxy
para proxies edgemicro_*.
Para transações do Edge Microgateway, as contagens de erros de destino incorretos foram mostradas no painel de análise de códigos de erro do Apigee Edge. Os códigos de erro para erros de destino estavam sendo contados como erros de proxy. Esse problema foi corrigido, e as contagens de erros de destino corretas agora são mostradas. |
179674670 | Recurso |
Foi adicionado um novo recurso que permite filtrar a lista de produtos de API colocados
em um JWT com base nos códigos de status do produto.
Os produtos de API têm três códigos de status: "Pendente", "Aprovado" e "Revogado".
Uma nova propriedade chamada
|
178423436 | Bug |
Os valores de chave e secretos transmitidos na CLI ou pelas variáveis de ambiente ficam visíveis
nos argumentos de linha de comando do Process Explorer.
Foi relatado um problema em que a chave e os valores secretos do microgateway do Edge que foram transmitidos de argumentos de linha de comando ou definidos por variáveis de ambiente foram exibidos nos argumentos de processos filhos/de trabalhador de nó após a inicialização do microgateway. Para corrigir esse problema no cenário de variável de ambiente, os valores não são mais mostrados nos argumentos de linha de comando do Process Explorer. Se os valores de chave e secret forem transmitidos na linha de comando durante a inicialização do microgateway, as configurações substituem os valores de variáveis de ambiente, se definidos. Nesse caso, os valores ainda estão visíveis nos argumentos de linha de comando do Process Explorer. |
178341593 | Bug |
Um erro de documentação do plug-in apikeys foi corrigido.
O arquivo README do plug-in apikeys
incluiu incorretamente uma propriedade
A propriedade |
179366445 | Bug |
Foi resolvido um problema em que o payload estava sendo descartado para todas as solicitações GET
para destinos.
É possível controlar o comportamento desejado com um novo parâmetro de configuração, Exemplo: edgemicro: enable_GET_req_body: true De acordo com a RFC 7231, seção 4.3.1: GET, um payload de solicitação GET não tem semântica definida, então ele pode ser enviado ao destino. |
3.2.0
Na quinta-feira, 21 de janeiro de 2021, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.2.0. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.2.0 | 3.2.0 | 3.2.0 | 3.2.0 | 3.2.0 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
152640618 | Bug | Ativamos o plug-in extauth
para definir o cabeçalho x-api-key de modo que
contenha o client_id no
objeto de solicitação quando o token for válido. O x-api-key fica disponível para
plug-ins subsequentes.
|
168836123, 172295489, 176462355, 176462872 | Recurso | Adicionado suporte a Node.js 14. |
172376835 | Bug | Use a unidade de tempo correta para o endpoint /token no proxy
edgemicro-auth .
Um problema foi corrigido em que o endpoint
A correção não muda a duração do tempo de expiração, mas apenas a unidade de tempo. Ela só
se aplica ao campo Se os clientes dependem do valor Se os clientes sempre usaram os valores no token JWT para avaliar o período de atualização do token, não será necessário fazer mudanças. |
173064680 | Bug | Um problema foi corrigido em que a microgateway encerrava a solicitação de destino
antes que todos os blocos de dados fossem processados.
Esse é um problema intermitente observado em solicitações de tamanho de payload alto e foi introduzido na versão 3.1.7. |
174640712 | Bug | Adicione o tratamento de dados adequado aos plug-ins.
O processamento adequado de dados foi adicionado aos seguintes plug-ins: |
Versão 3.1.x
Correções de bugs e melhorias na v.3.1.x
3.1.8
Na segunda-feira, 16 de novembro de 2020, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.1.8. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.1.8 | 3.1.9 | 3.1.7 | 3.1.3 | 3.1.2 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
169201295 | Bug | Os valores numéricos e booleanos foram analisados incorretamente nas tags de variáveis de ambiente.
O tratamento de substituição de variáveis de ambiente analisou todos os valores como
strings, o que resultou em erros de análise para valores booleanos ou
numéricos. Por exemplo, |
169202749 | Bug | A substituição da variável de ambiente não funcionava em alguns casos.
O processamento de substituição de variáveis de ambiente não funcionava para alguns atributos de configuração. Consulte Como definir atributos de configuração com valores de variáveis de ambiente para informações sobre limitações. |
168732942 | Bug | Foi corrigido um problema em que os escopos do OAuth não estavam restringindo o acesso do proxy de API
conforme esperado.
O fluxo |
170609716 | Bug | Foi corrigido um problema em que o fluxo /refresh no proxy edgemicro-auth
gerava um JWT sem apiProductList .
|
170708611 | Bug | Os escopos de produtos de API não estão disponíveis para plug-ins personalizados.
Os escopos de produtos da API não foram disponibilizados para plug-ins personalizados nem foram gravados no arquivo de configuração do cache. Consulte Sobre a função init() do plug-in para saber como os detalhes de escopo são disponibilizados para plug-ins. |
169810710 | Recurso | Chave e secret salvos no arquivo de configuração do cache.
A chave e o segredo do microgateway do Edge estavam sendo salvos no arquivo yaml de configuração do cache em cada recarga/início. Na versão 3.1.8, a chave e o secret não são mais salvos no arquivo de configuração do cache. Se a chave e o secret tiverem sido gravados anteriormente no arquivo de configuração do cache, eles serão removidos. |
170708621 | Recurso | Não é possível desativar o plug-in de análise.
Nas versões anteriores do microgateway, o plug-in de análise era ativado por padrão, e não era possível desativá-lo. Na versão 3.1.8, um novo parâmetro de configuração, |
159571119 | Bug | Erro nulo no hook onerror_request em plug-ins personalizados para
tempo limite de resposta/soquete.
Foram feitas correções para preencher o código de status HTTP e a mensagem de erro corretos para eventos |
3.1.7
Na quinta-feira, 24 de setembro de 2020, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.1.7. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.1.7 | 3.1.8 | 3.1.6 | 3.1.2 | 3.1.1 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
131708105 | Bug | O plug-in analytics processou incorretamente a resposta nula de
chamadas axpublisher e fez com que os workers fossem encerrados.
|
133162200 | Bug | As informações do app do desenvolvedor não foram preenchidas no Google Analytics com respostas de status 403
causadas por caminhos de recursos de produto não autorizados ou respostas 401
causadas por um token expirado ou inválido.
|
132194290 | Bug | Os registros de análise são descartados quando o Apigee Edge rejeita alguns registros de análise.
|
158618994 | Bug | Conexões excessivas de clientes do Redis.
|
161404373 | Bug | No caso de uma resposta de status 404, o URI completo do proxy foi incluído na mensagem de resposta. |
166356972 | Bug | A execução do Edge Microgateway com a versão 12.13.x ou mais recente do Node.js resultou no seguinte erro ao executar plug-ins que transformam o payload da solicitação: {"message":"write after end","code":"ERR_STREAM_WRITE_AFTER_END"}
|
168681746 | Bug | A recarga manual do Edge Microgateway com redisBasedConfigCache:true
não estava funcionando.
|
149256174 | Bug | Os erros do plug-in do OAuth não foram registrados para falhas
de rede.
|
166517190 | Bug | Os dados jwk_public_keys não foram armazenados e
buscados pelo Synchronizer e armazenados no Redis.
|
141659881 | Bug | O tratamento de erros de certificado de destino inválido
mostrava respostas de erro enganosas.
|
142808699 | Bug | O plug-in de controle de acesso não estava processando as seções "allow" e "deny"
corretamente.
O microgateway agora processa a seção de negação corretamente e respeita a ordem das seções "allow" e "deny". Uma nova propriedade |
3.1.6
Na quinta-feira, 20 de agosto de 2020, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.1.6. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.1.6 | 3.1.7 | 3.1.5 | 3.1.1 | 3.1.1 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
163711992 | Recurso | Opções personalizadas de local do arquivo de chave e certificado para o comando "rotatekey".
Para mais detalhes sobre essas novas opções de comando, consulte Girar chaves. |
||||||||||||
154838259 | Bug | Corrigir a rotação de chaves para várias instâncias em vários data centers
Para saber mais sobre essas novas opções de comando, consulte Girar chaves. |
||||||||||||
145525133 | Recurso da versão Alfa | Novas métricas de plug-ins
Consulte o README das novas métricas de plug-ins no GitHub para mais detalhes. |
||||||||||||
159396879 | Bug | Remover o pacote Helper não usado | ||||||||||||
161092943 | Bug | A validação do caminho base estava incorreta
Antes da versão 3.1.6, o caminho base do proxy era correspondido incorretamente quando o caminho base
não terminava com Confira a seguir mais detalhes sobre o comportamento anterior (que foi corrigido na versão 3.1.6):
Suponha que um proxy esteja configurado com o caminho base:
|
||||||||||||
160431789 | Bug | Plug-ins personalizados: o objeto de configuração transmitido para a inicialização não é preenchido
A configuração do Apigee Edge é disponibilizada no objeto de configuração para todos os plug-ins personalizados após a mesclagem com o arquivo de configuração do Edge Microgateway. Consulte config. |
||||||||||||
162758808 | Bug | Nova configuração de cota para o armazenamento de suporte do Redis
Use a configuração a seguir para especificar um repositório de origem do Redis para cotas. Para mais detalhes, consulte Como usar um armazenamento de suporte do Redis para cota. |
3.1.5
Na sexta-feira, 26 de junho de 2020, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.1.5. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.1.5 | 3.1.6 | 3.1.4 | 3.1.0 | 3.1.0 |
Correções de bugs e melhorias:
ID do problema | Tipo | Descrição |
---|---|---|
159210507 | Recurso | Configuração para excluir o processamento de plug-ins
Um novo recurso de configuração foi adicionado para pular o processamento de plug-ins para URLs especificados. Para saber mais, consulte Configurar URLs de exclusão para plug-ins. |
156986819, 158529319 | Bug | Correção de problemas com o plug-in json2xml
Correção de problemas em que o plug-in gerava cabeçalhos "Content-Type" duplicados e em que os cabeçalhos não eram enviados ao destino, como esperado, em alguns casos. |
156560067, 159688634 | Recurso | Usar valores de variáveis de ambiente na configuração Um recurso foi adicionado que permite especificar variáveis de ambiente usando tags no arquivo de configuração. As tags de variáveis de ambiente especificadas são substituídas pelos valores reais das variáveis de ambiente. As substituições são armazenadas apenas na memória, e não nos arquivos de configuração ou de cache originais. Para mais detalhes, consulte Como definir atributos de configuração com valores de variáveis de ambiente. |
155077210 | Bug | Um problema de formatação de registro foi corrigido.
Foi corrigido um problema em que o host de destino aparecia nos registros com dois-pontos externos anexados a ele. |
153673257 | Bug | (Somente Edge para nuvem privada) Os produtos compatíveis com a microgateway não são extraídos Correção de um problema em que os produtos compatíveis com a microgateway não eram buscados. Esse problema existia apenas nas instalações do Edge para nuvem privada. |
154956890, 155008028, 155829434 | Recurso | Suporte para a filtragem de produtos transferidos por download por atributos personalizados
Para saber mais, consulte Como filtrar produtos por atributos personalizados. |
153949764 | Bug | Foi corrigido um problema em que o processo do microgateway do Edge falhava quando
o arquivo de destino do registro estava cheio
O tratamento de exceções foi aprimorado para capturar o erro e mostrar uma mensagem no console. |
155499600 | Bug | Correção de problemas com a rotação de chaves e o upgrade do KVM
Consulte também Como fazer rotação de chaves JWT. |
3.1.4
Na sexta-feira, 23 de abril de 2020, lançamos a seguinte correção na microgateway do Edge.
Correção de bugs:
Um problema de dependência na versão 3.1.3 foi corrigido. A versão 3.1.3 foi marcada como descontinuada no repositório do npm. Todas as correções de bugs e melhorias descritas na nota da versão 3.1.3 se aplicam a esta versão.
3.1.3
Na quarta-feira, 15 de abril de 2020, lançamos as seguintes correções e melhorias no microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.1.3. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.1.3 | 3.1.3 | 3.1.3 | 3.0.14 | 3.0.9 |
Correções de bugs e melhorias:
- 153509313: correção de um problema em que o módulo de depuração do Node.js resulta em vazamentos de memória. O problema existe nas versões v3.1.0, v3.1.1 e 3.1.2.
- 153509313: correção de um problema em que o mesmo ID de mensagem para duas transações diferentes era impresso na saída de registro.
- 151673570: foi corrigido um problema em que o Edge Microgateway não era atualizado para usar novas APIs KVM da Apigee. O Edge Microgateway agora usa os novos comandos para adicionar e atualizar os valores do KVM.
- 152822846: em versões anteriores, o Edge Microgateway foi atualizado para que o processamento do mapeamento de caminho de recurso correspondesse ao do Apigee Edge. Nesta versão, corrigimos um problema em que o padrão
/literal_string/*
não era processado corretamente. Por exemplo,/*/2/*
. Consulte também Como configurar o comportamento de um caminho de recurso de '/', '/*' e '/**'. - 152005003: foram feitas mudanças para ativar os identificadores de escopo de organização e ambiente para cotas.
- 152005003: foram feitas mudanças para ativar os identificadores de escopo de organização e ambiente para cotas. A combinação de "org + env + appName + productName" é usada como o identificador de cota.
3.1.2
Na segunda-feira, 16 de março de 2020, lançamos as seguintes correções e melhorias no microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.1.3. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.1.2 | 3.1.2 | 3.1.2 | 3.0.13 | 3.0.9 |
Correções de bugs e melhorias:
- 151285018: foi feito um aprimoramento de recurso para adicionar suporte a proxy HTTP para tráfego entre o Edge Microgateway e destinos de back-end. Além disso, foram corrigidos problemas de suporte a proxy HTTP entre o Edge Microgateway e o Apigee Edge. Para mais detalhes, consulte:
- 149101890: o código de notificação de registro para casos em que o servidor de destino ou o balanceador de carga fecha a conexão foi alterado de ERROR para INFO.
- 150746985: correção de um problema em que o comando
edgemicro verify
não funcionava corretamente seredisBasedConfigCache: true
ouquotaUri: https://%s-%s.apigee.net/edgemicro-auth
estivessem presentes no arquivo de configuração. - 151284716: foi feita uma melhoria para fechar as conexões do servidor mais rapidamente quando os workers são reiniciados durante uma recarga.
- 151588764: a versão do Node.js na imagem do Docker usada para executar o Edge Microgateway em um contêiner do Docker foi atualizada para a 12, porque o Node.js v8 foi descontinuado.
- 151306049: a documentação foi atualizada para listar as APIs de gerenciamento do Apigee Edge usadas pelos comandos da CLI do Edge Microgateway. Consulte Quais APIs de gerenciamento o Edge Microgateway usa?.
3.1.1
Na quinta-feira, 20 de fevereiro, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.1.1. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.1.1 | 3.1.1 | 3.1.1 | 3.0.13 | 3.0.9 |
Correções de bugs e melhorias:
-
146069701: foi corrigido um problema em que o módulo
microgateway-core
não respeitava as variáveis de ambienteHTTP_PROXY
eHTTPS_PROXY
. Com essa mudança, as configurações de proxy no arquivo de configuração YAML, se especificadas, agora são ignoradas. Somente as variáveis de ambiente são usadas para especificar o proxy.Se você quiser especificar a configuração do proxy no arquivo de configuração, também especifique uma variável
HTTP_PROXY
que mencione o mesmo URL de proxy especificado no arquivo de configuração. Por exemplo, se você especificar a seguinte configuração:edge_config: proxy: http://10.128.0.20:3128 proxy_tunnel: true
Você também precisa especificar esta variável de ambiente:
HTTP_PROXY=http://10.128.0.20:3128
- 146320620: foi adicionado um novo parâmetro de configuração,
edgemicro.headers_timeout
. Esse atributo limita o tempo (em milissegundos) que o analisador HTTP vai esperar para receber os cabeçalhos HTTP completos. Exemplo:edgemicro: keep_alive_timeout: 6000 headers_timeout: 12000
Internamente, o parâmetro define o atributo
Server.headersTimeout
Node.js nas solicitações. Padrão: 5 segundos a mais do que o tempo definido comedgemicro.keep_alive_timeout
. Essa configuração padrão impede que balanceadores de carga ou proxies percam a conexão por engano. 149278885: foi adicionado um novo recurso que permite definir o tempo limite da API de destino no nível do proxy de API em vez de usar uma configuração de tempo limite global.
Se você definir a propriedade TargetEndpoint
io.timeout.millis
no proxy da API, o Edge Microgateway poderá recuperar essa propriedade e aplicar os tempos limite específicos do endpoint de destino. Se esse parâmetro não for aplicado, o Edge Microgateway vai usar o timeout global especificado comedgemicro.request_timeout
.
3.1.0
Na terça-feira, 21 de janeiro, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.1.0. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.1.0 | 3.1.0 | 3.1.0 | 3.0.12 | 3.0.9 |
Correções de bugs e melhorias:
-
144187500: um novo evento de nível WARN será registrado quando a flag
quotas.failOpen
for acionada. Essa flag é acionada se ocorrer um erro de processamento de cota ou se a solicitação "aplicar cota" para o Edge não atualizar os contadores de cota remotos. Nesse caso, a cota será processada com base nas contagens locais apenas até a próxima sincronização de cota remota bem-sucedida. Antes, esse evento só era registrado quando o nível de registro estava definido como DEBUG.Exemplo:
2020-01-20T02:52:53.040Z [warn][localhost:8000][5][foo-eval][test][hello/][] [DbpGIq9jKfzPX8jvXEivhA0LPwE][f372cc30-3b2f-11ea-845f-a627f][quota][remote quota not available so processing locally, setting quota-failed-open for identifier: AppQuota60.Quota60] [GET][][][][]
- 145023519: correção de um problema em que as transações em andamento ou novas eram afetadas sempre que o microgateway do Edge detectava uma mudança em um proxy de API. Agora, quando uma mudança é feita em um proxy, o Edge Microgateway atualiza o cache e os nós de worker são reiniciados. Com essa mudança, as transações em andamento e as novas chamadas de API enviadas para o microgateway não são afetadas.
- 146378327: o nível de registro de
sourceRequest
,targetRequest
etargetResponse
foi alterado para o nível INFO. - 146019878: foi corrigida uma discrepância entre a latência calculada para a "Performance do proxy de API" nos eventos de registro de sourceResponse/targetResponse da API e no Microgateway do Edge. Agora, a latência nos eventos de registro da Microgateway e da Análise Edge está alinhada.
- Mudanças relacionadas à lógica de correspondência de padrões:
- 147027862: o plug-in do OAuth foi atualizado para oferecer suporte aos seguintes padrões de correspondência de caminho de recurso, conforme especificado nos produtos da API:
/{literal}**
/{literal}*
- Qualquer combinação dos dois padrões acima
Com essa mudança, o plug-in do Edge Microgateway agora segue a mesma correspondência de padrão do Apigee Edge, conforme explicado em Como configurar o comportamento de um caminho de recurso '/', '/*' e '/**'.
- 145644205: atualização da lógica de correspondência de padrões do plug-in de chaves de API para corresponder ao plug-in de OAuth.
- 147027862: o plug-in do OAuth foi atualizado para oferecer suporte aos seguintes padrões de correspondência de caminho de recurso, conforme especificado nos produtos da API:
- 143488312: foi corrigido um problema em que espaços iniciais ou finais no parâmetro de ID do cliente faziam com que a criação da lista de produtos JWT ficasse vazia para solicitações de token OAuth e chave de API.
- 145640807 e 147579179: foi adicionado um novo recurso que permite que uma instância especial do Edge Microgateway
chamada "o sincronizador" recupere dados de configuração do Apigee Edge e os grave em um banco de dados Redis local. Outras instâncias de microgateway podem ser configuradas para ler os dados de configuração do banco de dados. Esse recurso adiciona um nível de resiliência ao Edge Microgateway.
Ele permite que as instâncias de microgateway sejam iniciadas e funcionem sem precisar se comunicar com o Apigee Edge. Confira mais detalhes em Como usar o sincronizador.
No momento, o recurso de sincronização tem suporte para o Redis 5.0.x.
Versão 3.0.x
Correções de bugs e melhorias na v.3.0.x
3.0.10
Na sexta-feira, 8 de novembro, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.0.10. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.0.10 | 3.0.8 | 3.0.8 | 3.0.11 | 3.0.8 |
Correções de bugs e melhorias:
-
142677575: uma atualização de recurso foi feita para que a correspondência de padrões para caminhos de recursos usados em produtos de API para o Edge Microgateway agora se alinhe à correspondência de padrões de caminho de recursos usada pelo Apigee Edge, conforme descrito em Configurar o comportamento de um caminho de recurso de '/', '/*' e '/**'.
Observação: se você usar um padrão de recurso composto, como
/*/2/**
, é necessário garantir que o proxyedgemicro_auth
seja adicionado a um produto de API independente. Em seguida, inclua esse produto no app do desenvolvedor do proxy, conforme ilustrado na captura de tela a seguir:Observação: a propriedade de configuração
features.isSingleForwardSlashBlockingEnabled
, conforme descrito em Como configurar o comportamento de um caminho de recurso de '/', '/*' e '/**', não é compatível com o Edge Microgateway. 143740696: a estrutura de configuração de
quotas
mudou. Consulte também as notas da versão 3.0.9. A propriedadequotas
é usada para configurar o plug-in de cota. A mudança na estrutura foi feita para melhorar a clareza dos elementos de configuração. Para configurar o plug-in de cota, use a seguinte configuração YAML. A propriedade de configuração é chamada dequotas
. Para detalhes sobre as propriedades de configuraçãoquotas
individuais, consulte Opções de configuração de cota.edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - quota quotas: bufferSize: hour: 20000 minute: 500 default: 10000 useDebugMpId: true failOpen: true ...
- 141750056: foi adicionado um novo recurso que permite usar o Redis como a loja de
destino da cota.
Se
useRedis
for verdadeiro, o módulo volos-quota-redis será usado. Quando verdadeiro, a cota é restrita apenas às instâncias do Edge Microgateway que se conectam ao Redis. Se for falso, o módulo volos-quota-apigee será usado como o repositório de backup, e o contador de cota será global. Para mais detalhes, consulte Opções de configuração de cota. Exemplo:edgemicro: ... quotas: useRedis: true redisHost: localhost redisPort: 6379 redisDb: 1
- 140574210: o tempo de expiração padrão dos tokens gerados pelo proxy
edgemicro-auth
foi alterado de 108.000 milissegundos (1,8 minutos) para 1.800 segundos (30 minutos). - 143551282: para oferecer suporte a organizações ativadas pelo SAML, o comando
edgemicro genkeys
foi atualizado para incluir um parâmetro‑‑token
. Esse parâmetro permite usar um token OAuth para autenticação em vez de nome de usuário/senha. Para mais detalhes, consulte Como gerar chaves.
3.0.9
Na sexta-feira, 11 de outubro, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.0.9. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.0.9 | 3.0.7 | 3.0.7 | 3.0.10 | 3.0.7 |
Correções de bugs e melhorias:
- 141989374: foi adicionado um novo recurso de "falha aberta" para o plug-in de cota.
Quando esse recurso está ativado, se ocorrer um erro de processamento de cota
ou se a solicitação "aplicar cota" ao Edge não conseguir atualizar os contadores de cota remotos, a cota
será processada com base nas contagens locais somente até a próxima sincronização de cota
remota bem-sucedida. Em ambos os casos, uma flag
quota-failed-open
é definida no objeto de solicitação.Para ativar o recurso "fail open" da cota, defina a seguinte configuração:
quotas : failOpen : true
Observação: além disso, o nome da flag do objeto de solicitação
fail-open
do plug-in OAuth foi alterado paraoauth-failed-open
. - 142093764: uma mudança de configuração foi feita no proxy
edgemicro-auth
para evitar o excesso de cota. A mudança é definir o tipo de cota como calendar. Para usar essa melhoria, atualize oedgemicro-auth
para a versão 3.0.7 ou mais recente. - 142520568: foi adicionado um novo recurso para ativar o registro do ID do processador de mensagens
nas respostas de cota. Para usar esse recurso, atualize
seu proxy
edgemicro-auth
para a versão 3.0.7 ou mais recente e defina a seguinte configuração:quotas: useDebugMpId: true
Quando
useDebugMpId
estiver definido, as respostas de cota do Edge vão conter o ID do MP e serão registradas pelo Edge Microgateway. Exemplo:{ "allowed": 20, "used": 3, "exceeded": 0, "available": 17, "expiryTime": 1570748640000, "timestamp": 1570748580323, "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a" }
3.0.8
Na quinta-feira, 26 de setembro, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.0.8. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.0.8 | 3.0.6 | 3.0.6 | 3.0.9 | 3.0.6 |
Correções de bugs e melhorias:
- 140025210: foi adicionado um novo recurso de "falha aberta". Esse recurso permite que o processamento da API continue se
um token JWT expirado não puder ser atualizado devido a um erro de conexão que impede
uma chamada de verificação de chave de API bem-sucedida para o proxy
edgemicro-auth
.O recurso permite definir um período de carência em que o token antigo permanece no cache e é reutilizado até que o período de carência expire. O recurso permite que o microgateway do Edge continue processando solicitações em caso de falha temporária de conexão. Quando a conectividade é retomada e uma chamada de chave de API de verificação é bem-sucedida, um novo JWT é buscado e substitui o JWT antigo no cache.
Para configurar o novo recurso "fail open", faça o seguinte:
- Defina as seguintes propriedades na stanza
oauth
no arquivo de configuração do microgateway do Edge:oauth: failOpen: true failopenGraceInterval: time_in_seconds cacheKey: true ...
Exemplo:
oauth: failOpen: true failopenGraceInterval: 5 cacheKey: true ...
Neste exemplo, o token antigo será usado por 5 segundos se não puder ser atualizado devido a um problema de conectividade. Após 5 segundos, um erro de autenticação será retornado.
- Defina as seguintes propriedades na stanza
- 141168968: foi feita uma atualização para incluir o
correlation_id
em todas as saídas de registro do plug-in. Além disso, os níveis de registro de alguns registros foram alterados paraerror
conforme necessário. - 140193349: foi feita uma atualização no proxy
edgemicro-auth
para exigir que a chave e o segredo do microgateway do Edge sejam verificados em cada solicitação de chave de API. O microgateway do Edge foi atualizado para sempre enviar a chave e a chave secreta em cada solicitação de chave de API de verificação. Essa mudança impede que os clientes recebam um JWT com apenas uma chave de API. - 140090250: foi feita uma atualização para adicionar o registro de diagnóstico ao processamento de cotas. Com essa mudança, agora é possível correlacionar a saída do registro de quoto com o restante dos registros do microgateway do Edge.
3.0.7
Na quinta-feira, 12 de setembro, lançamos as seguintes correções e melhorias na microgateway do Edge.
Versões de componentes:
A tabela a seguir lista os números de versão dos projetos de componentes individuais associados ao Edge Microgateway 3.0.7. Como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:
microgateway | core | config | plug-ins | edgeauth |
---|---|---|---|---|
3.0.7 | 3.0.5 | 3.0.5 | 3.0.8 | 3.0.5 |
Correções de bugs e melhorias:
140075602: foi feita uma atualização no plug-in OAuth para retornar um código de status 5xx quando apropriado. Anteriormente, o plug-in só retornava códigos de status 4xx em todos os casos que não eram 200. Agora, para qualquer resposta de mensagem que não seja um status 200, o código 4xx ou 5xx exato será retornado, dependendo do erro.
Esse recurso fica desativado por padrão. Para ativar esse recurso, adicione a propriedade
oauth.useUpstreamResponse: true
à configuração do Edge Microgateway. Exemplo:oauth: allowNoAuthorization: false allowInvalidAuthorization: false gracePeriod: 10 useUpstreamResponse: true
- 140090623: na versão 3.0.6, uma nova propriedade de configuração,
quota.quotaUri
, foi adicionada. Defina essa propriedade de configuração se quiser gerenciar cotas pelo proxyedgemicro-auth
implantado na sua organização. Se essa propriedade não for definida, o endpoint de cota vai usar o endpoint interno do Edge Microgateway. Exemplo:edge_config: quotaUri: https://%s-%s.apigee.net/edgemicro-auth
Na versão 3.0.7, o
edgemicro-auth
foi atualizado para aceitar essa nova configuração. Para usar a propriedadequotaUri
, faça upgrade para o proxyedgemicro-auth
mais recente. Para saber mais, consulte Como fazer upgrade do proxy edgemicro-auth. - 140470888: um cabeçalho de autorização foi adicionado
às chamadas de cota para fornecer autenticação.
Além disso, o proxy
edgemicro-auth
foi modificado para remover "organization" do identificador de cota. Como o endpoint da cota está na organização do cliente, o identificador de cota não é mais necessário. - 140823165: o nome da propriedade a seguir:
edgemicro: keepAliveTimeout
foi documentado incorretamente na versão 3.0.6. O nome correto da propriedade é:
edgemicro: keep_alive_timeout
- 139526406: correção de um bug em que uma contagem de cota incorreta ocorria se um app de desenvolvedor tivesse vários produtos. A cota agora é aplicada corretamente para cada produto em um app que tenha vários produtos. A combinação de "appName + productName" é usada como o identificador de cota.
3.0.6
Na quinta-feira, 29 de agosto, lançamos as seguintes correções e melhorias na microgateway do Edge.
- 138633700: foi adicionada uma nova propriedade de configuração,
keepAliveTimeout
. Essa propriedade permite definir o tempo limite do Edge Microgateway (em milissegundos). (Padrão: 5.000 milissegundos)Exemplo:
edgemicro: keep_alive_timeout: 600
- 140090623: foi adicionada uma nova propriedade de configuração,
quotaUri
. Defina essa propriedade de configuração se quiser gerenciar cotas pelo proxyedgemicro-auth
implantado na sua organização. Se essa propriedade não estiver definida, o endpoint de cota será definido como o endpoint interno da microgateway do Edge. Exemplo:edge_config: quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
Para usar esse recurso, primeiro implante a versão mais recente do proxy
edgemicro-auth
na sua organização. Para mais detalhes, consulte Como fazer upgrade do proxy edgemicro-auth. - 138722809: foi adicionada uma nova propriedade de configuração,
stack_trace
. Essa propriedade permite controlar se os rastros de pilha vão aparecer ou não nos arquivos de registro. Exemplo:stack_trace: false
Se
stack_trace
for definido comotrue
, o stack trace será impresso nos registros. Se ele for definido comofalse
, o rastro de pilha não será impresso nos registros.
3.0.5
Na quinta-feira, 15 de agosto, lançamos as seguintes correções e melhorias na microgateway do Edge.
Bugs corrigidos- 139005279: foi corrigido um problema em que o comando
edgemicro status
não retornava o número correto de processos de worker. - 138437710: foi corrigido um problema na classe ExitCounter que impedia a gravação do log correto.
- 139064652: foi adicionado o recurso para adicionar níveis de registro
trace
edebug
para registros de eventos e do sistema. Por enquanto, apenas a capacidade de adicionar esses níveis de registro foi adicionada. Atualmente, os níveis de registro disponíveis sãoinfo
,warn
eerror
. - 139064616: a saída de registro foi padronizada para todas as instruções de registro do console. As instruções de registro da consola agora incluem estes atributos:
- Carimbo de data/hora
- Nome do componente
- ID do processo
- Mensagem de registro do console
- 138413755: melhoria das mensagens de registro relacionadas a chaves e segredos JWT para estes comandos da CLI: cert, verify, upgradekvm, token, genkeys, revokekeys, rotatekey e configure.
- 138413577: adição e melhoria do tratamento de erros para timeouts do serviço de back-end.
- 138413303: adição e melhoria do processamento de erros para resposta e tempo limite de soquetes.
- 138414116: adição e melhoria do processamento de erros de "conexão recusada".
3.0.4
Na quinta-feira, 1º de agosto, lançamos as seguintes correções e melhorias na microgateway do Edge.
- 134445926: melhorias na autenticação interna do Edge Microgateway.
- 137582169: correção de um problema em que processos indesejados eram iniciados. Os processos extras fizeram com que os plug-ins fossem recarregados e usaram memória excessiva. O microgateway de borda agora mantém o número de processos dentro do limite esperado.
- 137768774: melhorias na mensagem de registro:
- Registros de transação (solicitação) limpos.
- Foram adicionadas mais mensagens de registro quando necessário.
- As mensagens de registro de transação (solicitação) foram movidas da saída do console para o arquivo de registro relevante.
- Os registros do console foram atualizados para usar uma função de geração de registros centralizada.
- 138321133, 138320563: mudança interna fundamental no buffer de cota para permitir melhorias futuras na cota.
3.0.3
Na terça-feira, 23 de julho, lançamos as seguintes correções e melhorias na microgateway do Edge.
- Melhorias no registro: os registros de ambiente de execução atuais usam uma nova função
eventLog()
que captura e registra dados de execução em um formato consistente. As informações de registro incluem:- Carimbo de data/hora (ISO 8601: AAAA-MM-DDThH:mm:ss.sssZ).
- Nível de registro (erro, aviso ou informação).
- Nome do host: o nome do host de solicitação do cabeçalho da solicitação.
- ID do processo: se você estiver executando um cluster de processos do Node.js, esse será o ID do processo em que o registro ocorreu.
- Nome da organização da Apigee.
- Nome do ambiente na organização.
- Nome do proxy da API.
- Endereço IP do cliente.
- ClientId.
- ID de correlação (não definido no momento).
- Nome do componente do Edge Microgateway.
- Mensagem personalizada: alguns objetos podem imprimir informações adicionais transmitidas para essa propriedade de erro.
- Método de solicitação (se for uma solicitação HTTP).
- Código de status da resposta (se for uma solicitação HTTP).
- Mensagem de erro.
- Código de erro: se um objeto incluir um código de erro, ele será impresso nesta propriedade.
- Tempo gasto.
- Sistema operacional marcador de fim de linha.
Valores de propriedade nulos resultam em colchetes vazios,
[]
.O exemplo a seguir mostra o formato do registro:
Timestamp [level][hostname][ProcessId][Org][Environment][APIProxy][ClientIp][ClientId][][component][customMessage][reqMethod][respStatusCode][errMessage][errCode][timeTaken]
(137770055)
- Desempenho: os produtos da API não estavam sendo filtrados com base no ambiente. Esse problema foi corrigido. (135038879)
- Integrações de teste funcional e melhorias na qualidade do código.
3.0.2
Na quarta-feira, 3 de julho de 2019, lançamos as seguintes correções e melhorias no Edge Microgateway.
Qualidade do código: o código foi analisado e alterações foram feitas para
atender aos padrões de qualidade solicitados pelos usuários. Resolvemos erros e avisos de qualidade de código
derivados do JSHint.
Como resultado, alguns erros reais no código foram identificados e corrigidos. Todos os módulos do Apigee Edge Microgateway
passaram por esse processo. Consulte as confirmações de 28 de junho e 2 de julho para
microgateway-config
,
microgateway-core
,
microgateway-plugins
e
microgateway
.
Todos os módulos com mudanças na qualidade do código foram testados com ferramentas internas que verificam a
execução do Edge Microgateway para casos de uso do cliente.
3.0.1
Na sexta-feira, 21 de junho de 2019, lançamos as seguintes correções e melhorias na microgateway do Edge.
- 134834551: mudança nas versões do Node.js com suporte para a microgateway do Edge
(versões do Node.js com suporte: 8 e 12; as versões 7, 9 e 11 são experimentais) - 134751883: o Edge Microgateway falha ao recarregar sob carga.
- 134518428: o endpoint de produtos do microgateway do Edge retorna 5XX se o padrão de filtro estiver incorreto.
- 135113408: os workers precisam ser reiniciados se forem encerrados inesperadamente.
- 134945852: o tokenCacheSize não é usado no plug-in do OAuth.
- 134947757: definir cacheTTL no plug-in do OAuth.
- 135445171: o cálculo de gracePeriod no OAuth não está correto.
- Use o módulo memorizado fornecido com a instalação do Edge Microgateway
- 135367906 - Auditoria de segurança
Versão 2.5.x
Novos recursos e melhorias v.2.5.x
(Corrigido 2.5.38, 07/06/2019)
JWTs formatados incorretamente podem causar falhas nos workers ao usar o cache de tokens. Correção no módulo microgateway-plugins do Edge. (b/134672029)
(Adicionado na versão 2.5.37) Adicione a opção de CLI edgemicro-cert -t
.
A opção edgemicro cert -t
permite especificar um token OAuth para
autenticar APIs de gerenciamento. Consulte também Gerenciar certificados.
(Adicionado na versão 2.5.35) Adição de suporte para depurar o Edge Microgateway usando edgemicroctl
.
Use a flag mgdebug
com edgemicroctl
. Consulte também
Tarefas de integração do Kubernetes.
(Adicionado na 2.5.35) Ativar um build do Windows para edgemicroctl
.
(Adicionado na versão 2.5.31) Nova API edgemicro-auth/token
Uma nova API edgemicro-auth/token foi adicionada para permitir que você transmita o cliente/secret como um cabeçalho de autorização básica codificado em base64 e o grant_type como um parâmetro de formulário. Consulte Como receber tokens do portador diretamente.
(Corrigido na versão 2.5.31) A configuração privada não respeita a flag do token
Foi corrigido um problema em que a configuração do Edge Microgateway para usar um token de acesso OAuth2 no Edge para Cloud particular não funcionava corretamente (o token não era respeitado).
Docker: suporte para o uso de certificados autoassinados
(Adicionado na versão 2.5.29) Se você estiver usando uma autoridade certificadora (CA) que não é confiável por padrão no
Node.js, use o parâmetro NODE_EXTRA_CA_CERTS
ao executar um contêiner do Docker
com o microgateway do Edge.
Para mais detalhes, consulte Como usar uma AC que não é confiável pelo Node.js.
Docker: suporte a TLS
(Adicionado na versão 2.5.29) O Edge Microgateway em execução em um contêiner do Docker agora oferece suporte a TLS para solicitações recebidas no servidor do Edge Microgateway (solicitações de norte a sul) e para solicitações de saída do Edge Microgateway para um aplicativo de destino (solicitações de sul a norte).
Os exemplos a seguir explicam em detalhes como configurar essas configurações de TLS:
- Exemplo de configuração de TLS de sentido norte
- Exemplo de configuração de TLS de sentido sul para norte
Nestes exemplos, você vai aprender a usar o ponto de montagem do contêiner /opt/apigee/.edgemicro
para carregar
os certificados, que são referenciados no arquivo de configuração do Edge Microgateway.
Docker: suporte a proxy de solicitação
(Adicionado na versão 2.5.27) Se você executar o Edge Microgateway em um contêiner do Docker, poderá usar estas opções para controlar o comportamento do proxy quando o microgateway estiver em execução por trás de um firewall:
HTTP_PROXY
HTTPS_PROXY
NO_PROXY
Para saber mais, consulte Executar o Edge Micro como um contêiner do Docker.
Docker: instruções atualizadas do plug-in
(Adicionado na versão 2.5.27) Se você executar o Edge Microgateway em um contêiner do Docker, agora terá duas opções para implantar plug-ins. Uma opção, que usa um ponto de montagem do Docker, é nova. A outra opção já existia antes, não mudou muito, mas o Dockerfile foi atualizado. Para mais detalhes, consulte estes links:
- Opção A: montar o diretório de plug-ins em um volume (novo)
- Opção B: criar os plug-ins no contêiner (atualizado)
Novo suporte a tokens OAuth para o comando de upgrade do KVM
(Adicionado na versão 2.5.27) É possível usar um token OAuth com o comando upgradekvm
. Para mais detalhes, consulte
Fazer upgrade do KVM.
Segregar APIs no Edge Analytics
(Adicionado na 2.5.26) As novas flags do plug-in de análise permitem que você separe um caminho de API específico para que ele apareça como um proxy separado nos painéis de análise do Edge. Por exemplo, é possível segregar as APIs de verificação de integridade para evitar confundi-las com chamadas de API reais. Para mais informações, consulte Como excluir caminhos da análise.
Como configurar um proxy local
(Adicionado na versão 2.5.25) Com um proxy local, não é necessário criar manualmente um proxy compatível com microgateway no Apigee Edge. Em vez disso, o microgateway vai usar o caminho de base do proxy local. Para mais informações, consulte Usar o modo de proxy local.
Como usar o modo independente
(Adicionado na versão 2.5.25) É possível executar o Edge Microgateway desconectado completamente de qualquer dependência do Apigee Edge. Esse cenário, chamado de modo autônomo, permite executar e testar o Edge Microgateway sem uma conexão de Internet. Consulte Como executar o Edge Microgateway no modo autônomo.
Como revogar chaves
(Adicionado na 2.5.19) Um novo comando da CLI foi adicionado para revogar as credenciais de chave e secretas de uma configuração da microgateway do Edge.
edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
Suporte ao Docker
(Adicionado em 2.5.19) Agora é possível fazer o download da versão mais recente do Edge Microgateway como uma imagem do Docker:
docker pull gcr.io/apigee-microgateway/edgemicro:latest
Suporte ao Kubernetes
(Adicionado na versão 2.5.19) É possível implantar o Edge Microgateway como um serviço ou um gateway secundário na frente de serviços implantados em um cluster do Kubernetes. Consulte: Integrar o Edge Microgateway com o Kubernetes.
Suporte para a opção TCP nodelay
(Adicionado na versão 2.5.16) Uma nova configuração, nodelay
, foi adicionada à configuração do Edge Micro.
Por padrão, as conexões TCP usam o algoritmo
Nagle para armazenar dados em buffer antes de enviá-los. Definir nodelay
como true
desativa esse comportamento (os dados são disparados imediatamente sempre que
socket.write()
é chamado). Consulte também a documentação do
Node.js para mais detalhes.
Para ativar o nodelay
, edite o arquivo de configuração do Edge Micro da seguinte maneira:
edgemicro: nodelay: true port: 8000 max_connections: 1000 config_change_poll_interval: 600 logging: level: error dir: /var/tmp stats_log_interval: 60 rotate_interval: 24
Novas opções da CLI para monitoramento Forever
(Adicionado na versão 2.5.12) Novos parâmetros foram adicionados ao comando edgemicro forever
. Esses parâmetros permitem
especificar o local do arquivo forever.json
e iniciar ou interromper o processo em segundo plano
Forever. Consulte também Monitoramento contínuo.
Parâmetro | Descrição |
---|---|
-f, --file | Especifica o local do arquivo forever.json . |
-a, --action | start ou stop . O padrão é "start". |
Exemplos:
Para começar a usar o Forever:
edgemicro forever -f ~/mydir/forever.json -a start
Para interromper o Forever:
edgemicro forever -a stop
Rotação de chaves JWT
Um novo recurso foi adicionado para permitir a rotação dos pares de chaves públicas/privadas usados para gerar os tokens JWT usados para a segurança OAuth no microgateway do Edge. Consulte Como fazer rotação de chaves JWT.
Filtrar proxies de API salvos
Por padrão, o Edge Microgateway faz o download de todos os proxies na sua organização do Edge que começam com o prefixo de nomenclatura "edgemicro_". É possível mudar esse padrão para fazer o download de proxies cujos nomes correspondam a um padrão. Consulte Como filtrar proxies transferidos por download.
Como especificar produtos sem proxies de API
No Apigee Edge, é possível criar um produto de API que não contém proxies de API. Essa configuração permite que uma chave de API associada a esse produto funcione com qualquer proxy implantado na sua organização. A partir da versão 2.5.4, o Edge Microgateway oferece suporte a essa configuração de produto.
Suporte para monitoramento permanente
O Edge Microgateway tem um arquivo forever.json
que pode ser configurado para
controlar quantas vezes e com que intervalos o Edge Microgateway precisa ser reiniciado. Esse arquivo
configura um serviço chamado forever-monitor, que gerencia o Forever de forma programática. Consulte
Monitoramento Forever.
Gerenciamento central do arquivo de configuração do Edge Micro
Se você executar várias instâncias do Edge Microgateway, poderá gerenciar as configurações delas em um único local. Para fazer isso, especifique um endpoint HTTP em que o Edge Micro possa fazer o download do arquivo de configuração. Consulte Como especificar um endpoint de arquivo de configuração.
Suporte à opção "forever" da CLI
(Adicionado na versão 2.5.8) Use o comando edgemicro forever [package.json]
para especificar o
local do arquivo forever.json
. Antes da adição desse comando, o arquivo de configuração
precisava estar no diretório raiz do Edge Microgateway.
Exemplo:
edgemicro forever ~/mydir/forever.json
Adição da opção configUrl ao comando de recarga
(Adicionado na versão 2.5.8) Agora é possível usar a opção --configUrl
ou -u
com o comando edgemicro reload
.
Período de carência para discrepâncias de tempo do JWT
(Adicionado na versão 2.5.7) Um atributo gracePeriod na configuração do OAuth ajuda a evitar erros causados por pequenas discrepâncias entre o relógio do sistema e os horários de validade (nbf) ou de emissão (iat) especificados no token de autorização JWT. Defina esse atributo como o número de segundos para permitir essas discrepâncias. Consulte Atributos do OAuth.
(Adicionado na versão 2.5.7) Um atributo gracePeriod na configuração do OAuth ajuda a evitar erros causados por pequenas discrepâncias entre o relógio do sistema e os horários de validade (nbf) ou de emissão (iat) especificados no token de autorização JWT. Defina esse atributo como o número de segundos para permitir essas discrepâncias. Consulte Atributos do OAuth.
Bugs corrigidos na v2.5.x
- (Problema 236) Correção de erro de digitação na limpeza do cache.
- (Problema 234) O reload falha no Edge Microgateway 2.5.35.
- (Problema 135) Erro "seguro" de referência de host virtual inválido ao usar a opção -v. Essa correção modifica o proxy edgemicro-auth antes da implantação para garantir que os hosts virtuais correspondam exatamente ao que é especificado na flag "-v". Além disso, você pode especificar qualquer número e nome para o host virtual (não mais restrito a padrão e seguro).
- (Problema 141) O comando edgemicro reload não oferece suporte à opção de arquivo de configuração -c. Esse problema foi corrigido.
- (Problema 142) O Edge Microgateway reclama sobre a criptografia descontinuada no momento da instalação. Esse problema foi corrigido.
- (Problema 145) A cota não funciona com o Edge Microgateway. Esse problema foi corrigido.
- (Problema da comunidade do Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) Token JWT validado contra proxies de API e URI de recurso no OAUTH. Esse problema foi corrigido.
- (Problema da comunidade do Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway não funciona com OAuth. Esse problema foi corrigido.
- Correção do pidPath no Windows.
- (Problema 157) O problema que causou a seguinte mensagem de erro foi corrigido:
ReferenceError: deployProxyWithPassword
não está definido. - (Issue #169) Atualização das dependências do Node.js (auditoria do npm)
- O proxy
edgemicro-auth
agora usa as políticas do JWT do Edge. O proxy não depende mais do Node.js para oferecer suporte a JWT.
Versão 2.4.x
Novos recursos e melhorias v.2.4.x
1. Definir um alias personalizado para o proxy edgemicro-auth (PR 116)
É possível mudar o caminho de base padrão do proxy edgemicro-auth. Por padrão, o caminho base é /edgemicro-auth. Para mudar isso, use a flag -x no comando edgemicro configure.
Exemplo:
edgemicro configure -x /mypath …
2. Suporte a caracteres curinga para caminhos de base (PR 77)
É possível usar um ou mais caracteres curinga "*" no caminho de base de um proxy edgemicro_*. Por exemplo, um caminho base de /team/*/members permite que os clientes chamem https://[host]/team/blue/members e https://[host]/team/green/members sem que você precise criar novos proxies de API para dar suporte a novas equipes. /**/ não é compatível.
Importante:o Apigee NÃO é compatível com o uso de um caractere curinga "*" como o primeiro elemento de um caminho base. Por exemplo, isto NÃO é compatível: /*/search.3. Caminho de configuração personalizado adicionado à CLI para configuração de nuvem particular (PR 99)
Por padrão, o arquivo de configuração da microgateway está em ./config/config.yaml. Nos comandos de inicialização, configuração e início, agora é possível especificar um caminho de configuração personalizado na linha de comando usando as flags -c ou --configDir. Correção de um problema em que um diretório de configuração personalizado para instalações de nuvem particular não era reconhecido.
Exemplo:
edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config
4. Respeitar as variáveis *_PROXY (PR 61)
Se o Edge Microgateway estiver instalado atrás de um firewall e não conseguir se comunicar com o Apigee Edge na nuvem pública, considere duas opções:
Opção 1:
A primeira opção é definir a opção edgemicro: proxy_tunnel como "true" no arquivo de configuração da microgateway:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: true
Quando proxy_tunnel é true, o Edge Microgateway usa o método CONNECT HTTP para encaminhar solicitações HTTP por uma única conexão TCP. O mesmo acontece se as variáveis de ambiente para configurar o proxy estiverem ativadas para TLS.
Opção 2:
A segunda opção é especificar um proxy e definir proxy_tunnel como false no arquivo de configuração da microgateway. Exemplo:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: false
Nesse caso, é possível definir as variáveis a seguir para controlar os hosts de cada proxy HTTP que você quer usar ou quais hosts não devem processar os proxies do Edge Microgateway: HTTP_PROXY, HTTPS_PROXY e NO_PROXY. É possível definir NO_PROXY como uma lista delimitada por vírgulas de domínios que o Edge Microgateway não deve usar como proxy. Exemplo:
export HTTP_PROXY='http://localhost:3786' export HTTPS_PROXY='https://localhost:3786'
Para mais informações sobre essas variáveis, consulte:
https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables
5. Definir um tempo limite personalizado para solicitações de segmentação (PR 57)
É possível definir um tempo limite personalizado para solicitações de destino com esta configuração:
edgemicro: request_timeout: 10
O tempo limite é definido em segundos. Se ocorrer um tempo limite, o Edge Microgateway vai responder com um código de status 504.
6. Respeitar mensagens de status HTTP personalizadas na resposta de destino (PR 53)
O Edge Microgateway respeita as mensagens de status HTTP personalizadas definidas na resposta de destino. Em versões anteriores, as mensagens de status enviadas do destino eram substituídas pelos padrões do Node.js.
7. O cabeçalho X-Forwarded-For pode definir o client_ip para a análise
Se presente, o cabeçalho X-Forwarded-For vai definir a variável client_ip que é informada no Edge Analytics. Esse recurso permite que você saiba o IP do cliente que enviou uma solicitação para o Edge Microgateway.
8. Mudanças no plug-in do OAuth
O plug-in OAuth oferece suporte à verificação de chave de API e de token de acesso OAuth. Antes dessa mudança, o plug-in aceitava qualquer forma de segurança. Com essa mudança, você pode permitir apenas um desses modelos de segurança, mantendo a compatibilidade com versões anteriores.
Os plug-ins do OAuth adicionam duas novas flags:
-
allowOAuthOnly: se definido como true, todas as APIs precisam conter um cabeçalho de autorização com um token de acesso do portador.
-
allowAPIKeyOnly: se definido como true, todas as APIs precisam ter um cabeçalho x-api-key (ou um local personalizado) com uma chave de API.
Defina essas flags no arquivo de configuração do Edge Microgateway da seguinte maneira:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false keep-authorization-header: false allowOAuthOnly: false allowAPIKeyOnly: false
9. Melhoria do proxy edgemicro-auth (PR 40).
Melhorias foram feitas no proxy edgemicro-auth. Antes dessas mudanças, o proxy armazenava chaves na Edge Secure Store, um cofre criptografado. Agora, o proxy armazena chaves no mapa de chave-valor (KVM) criptografado do Edge.
10. Reescrita do URL de destino padrão em um plug-in (PR 74)
Também é possível substituir a porta do endpoint de destino e escolher entre HTTP e HTTPS. Modifique estas variáveis no código do plug-in: req.targetPort e req.targetSecure. Para escolher HTTPS, defina req.targetSecure como true. Para HTTP, defina como false. Se você definir req.targetSecure como "true", consulte esta discussão para mais informações.
11. Suporte inicial para autenticação de token OAuth (PR 125)
É possível configurar o Edge Microgateway para usar um token OAuth para autenticação em vez de nome de usuário/senha. Para usar um token OAuth, use o seguinte parâmetro no comando edgemicro configure:
-t, --token <token>
Exemplo:
edgemicro configure -o docs -e test -t <your token>
Bugs corrigidos na v2.4.3
- Correção de um problema em que uma organização paga era necessária para executar corretamente o proxy edgemicro-auth. Agora, você também pode usar o Edge Microgateway com organizações de teste. (PR 5)
- Correção de um problema em que o stream não terminava de processar dados, mas os manipuladores finais estavam sendo executados Isso fez com que uma resposta parcial fosse enviada. (PR 71)
- Correção de um problema em que um diretório de configuração personalizado para instalações de nuvem particular não era reconhecido. (PR 110)
- Correção de um problema com o SSL bidirecional entre o cliente e o microgateway do Edge. (PR 70)
- Correção de um problema em que um caractere de barra inclinada no final era necessário no caminho de base do proxy para que a verificação da chave de API funcionasse corretamente. Agora, não é necessário usar uma barra final no final do caminho de base. (PR 48)
Versão 2.3.5
Novos recursos e melhorias v.2.3.5
Filtragem de proxy
É possível filtrar quais proxies compatíveis com o microgateway uma instância do Edge Microgateway vai processar.
Quando o Edge Microgateway é iniciado, ele faz o download de todos os proxies compatíveis com o microgateway na
organização a que ele está associado. Use a configuração a seguir para limitar quais proxies a
microgateway vai processar. Por exemplo, esta configuração limita os proxies que o microgateway
processará para três: edgemicro_proxy-1
, edgemicro_proxy-2
e
edgemicro_proxy-3
:
proxies: - edgemicro_proxy-1 - edgemicro_proxy-2 - edgemicro_proxy-3
Mascaramento de dados do Google Analytics
Uma nova configuração permite impedir que as informações do caminho da solicitação apareçam no Edge Analytics. Adicione o seguinte à configuração do microgateway para mascarar o URI e/ou o caminho da solicitação. O URI consiste nas partes de nome de host e caminho da solicitação.
analytics: mask_request_uri: 'string_to_mask' mask_request_path: 'string_to_mask'
Versão 2.3.3
Novos recursos e melhorias v.2.3.3
Confira a seguir os novos recursos e melhorias desta versão.
Desativar a pesquisa automática de mudanças
É possível desativar a pesquisa automática de mudanças definindo este atributo na configuração do microgateway:
disabled_config_poll_interval: true
Por padrão, a pesquisa periódica detecta todas as mudanças feitas no Edge (mudanças em produtos, proxies compatíveis com microgateway etc.), bem como as mudanças feitas no arquivo de configuração local. O intervalo de pesquisa padrão é de 600 segundos (cinco minutos).
Reescrever URLs de destino em plug-ins
É possível substituir o URL de destino padrão dinamicamente em um plug-in modificando estas variáveis no código do plug-in: req.targetHostname e req.targetPath.
Nova assinatura de função do plug-in
Uma nova assinatura de função do plug-in foi adicionada e fornece a resposta de destino como um argumento. Essa adição facilita o acesso dos plug-ins à resposta de destino.
function(sourceRequest, sourceResponse, targetResponse, data, cb)
Saída de registro padrão simplificada
Por padrão, o serviço de registro agora omite o JSON de proxies, produtos e JWTs transferidos por download.
É possível mudar para o padrão para gerar esses objetos definindo DEBUG=*
ao iniciar
o Edge Microgateway. Exemplo:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
Caminho de configuração personalizado adicionado à CLI
Por padrão, o arquivo de configuração do microgateway está em ./config/config.yaml. Nos comandos de inicialização, configuração e início, agora é possível especificar um caminho de configuração personalizado na linha de comando. Por exemplo:
edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config
Bugs corrigidos na v2.3.3
- Foi corrigido um vazamento de memória que ocorreu durante solicitações/respostas grandes.
- A ordem de execução do plug-in foi corrigida. Agora ele se comporta da maneira explicada na documentação.
- O plug-in accumulate-request não fica mais travado em solicitações GET.
- Um problema foi corrigido no plug-in de resposta acumulada em que a falta de um corpo de resposta causava erros.
Versão 2.3.1
Observação sobre a instalação
Algumas versões anteriores do Edge Microgateway permitem instalar o software fazendo o download de um arquivo ZIP. Esses arquivos ZIP não são mais compatíveis. Para instalar o Edge Microgateway, use:
npm install -g edgemicro
Consulte o tópico de instalação para mais detalhes.
Novos recursos e melhorias v.2.3.1
Confira a seguir os novos recursos e melhorias desta versão.
Filtrar proxies
Uma nova configuração permite filtrar quais proxies o Edge Microgateway vai carregar na inicialização. Anteriormente, a microgateway carregava todos os proxies compatíveis com a microgateway (chamados edgemicro_*) extraídos da organização/ambiente do Edge especificado no comando de configuração edgemicro. Esse novo recurso permite filtrar essa lista de proxies para que o Edge Microgateway carregue apenas os especificados. Basta adicionar o elemento de proxy ao arquivo de configuração da microgateway desta forma:
edge micro: proxies: - edgemicro_[name] - edgemicro_[name] ...
Por exemplo, digamos que você tenha 50 proxies edgemicro_*
no seu org/env
do Edge, incluindo os chamados edgemicro_foo
e edgemicro_bar
. É possível
informar ao microgateway para usar apenas esses dois proxies:
edge micro: proxies: - edgemicro_foo - edgemicro_bar
Na inicialização, o microgateway só poderá chamar os proxies especificados. Qualquer tentativa de chamar outros proxies compatíveis com microgateways baixados da organização/ambiente do Edge resultará em um erro.
Definir cabeçalhos de solicitação de destino em plug-ins
Há dois padrões básicos a serem considerados se você quiser adicionar ou modificar os cabeçalhos de solicitação de destino: um em que a solicitação recebida contém dados (como em uma solicitação POST) e outro em que não contém (como em uma solicitação GET simples).
Considere o caso em que a solicitação de entrada contém dados e você quer definir cabeçalhos de solicitação na solicitação de destino. Nas versões anteriores do Edge Microgateway, não era possível definir cabeçalhos de destino de forma confiável nesse caso.
A chave para esse padrão é acumular primeiro todos os dados recebidos do cliente. Em seguida, na função onend_request()
, use a nova função request.setOverrideHeader(name,
value)
para personalizar os cabeçalhos.
Confira um exemplo de código de plug-in que mostra como fazer isso. Os cabeçalhos definidos em
onend_request
são enviados para o destino:
module.exports.init = function(config, logger, stats) { function accumulate(req, data) { if (!req._chunks) req._chunks = []; req._chunks.push(data); } return { ondata_request: function(req, res, data, next) { if (data && data.length > 0) accumulate(req, data); next(null, null); }, onend_request: function(req, res, data, next) { if (data && data.length > 0) accumulate(req, data); var content = Buffer.concat(req._chunks); delete req._chunks; req.setOverrideHeader('foo', 'bar'); req.setOverrideHeader('content-length', content.length); next(null, content); }, onerror_request: function(req, res, data, next) { next(null, null); } }; }
Se a solicitação não incluir dados, você poderá definir cabeçalhos de destino no
gerenciador onrequest()
. Esse padrão não é novo. Ele foi documentado anteriormente
e usado nos plug-ins de exemplo fornecidos com o Edge Microgateway.
onrequest: function(req, res, next) { debug('plugin onrequest'); req.headers['x-foo-request-id'] = "bar"; req.headers['x-foo-request-start'] = Date.now(); next(); }
Recurso de recarga sem inatividade
Depois de fazer uma mudança de configuração no microgateway do Edge, é possível carregar a configuração
sem perder nenhuma mensagem. Com essa mudança, o Edge Microgateway sempre é iniciado no modo de cluster,
e a opção --cluster
foi removida do comando
edgemicro start
.
Além disso, três novos comandos da CLI foram adicionados. Execute esses comandos no mesmo diretório em que o comando "edgemicro start" foi executado:
edgemicro status
: verifica se o Edge Microgateway está em execução ou não.edgemicro stop
: interrompe o cluster do Edge Microgateway.edgemicro reload
: recarrega a configuração do Edge Microgateway sem inatividade.
Recarregamento automático de configuração sem tempo de inatividade
O Edge Microgateway carrega uma nova configuração periodicamente e executa uma recarga se algo mudar. A pesquisa detecta todas as mudanças feitas no Edge (mudanças em produtos, proxies compatíveis com microgateway etc.) e no arquivo de configuração local. O intervalo de pesquisa padrão é de 600 segundos (cinco minutos). É possível mudar o padrão no arquivo de configuração da microgateway da seguinte forma:
edgemicro: config_change_poll_interval: [seconds]
Informações da versão adicionadas à CLI
Uma flag --version
foi adicionada à CLI. Para conferir a versão atual do Edge
Microgateway, use:
edgemicro --version
Novas opções de SSL do servidor do Edge Microgateway
O Edge Microgateway agora oferece suporte às seguintes opções de SSL do servidor, além de
key
e cert
:
Opção | Descrição |
---|---|
pfx |
Caminho para um arquivo pfx que contém a chave privada, o certificado e os certificados de AC
do cliente no formato PFX. |
passphrase |
Uma string que contém a senha longa para a chave privada ou o PFX. |
ca |
Caminho para um arquivo com uma lista de certificados confiáveis no formato PEM. |
ciphers |
Uma string que descreve as cifras a serem usadas, separadas por um ":". |
rejectUnauthorized |
Se verdadeiro, o certificado do servidor é verificado em relação à lista de ACs fornecidas. Se a verificação falhar, um erro será retornado. |
secureProtocol |
O método SSL a ser usado. Por exemplo, SSLv3_method para forçar o SSL à versão 3. |
servername |
O nome do servidor para a extensão TLS de SNI (indicação de nome do servidor). |
Enviar arquivos de registro para stdout
É possível enviar dados de registro para a saída padrão com uma nova configuração:
edgemicro: logging: to_console: true
Consulte Como gerenciar arquivos de registro.
Versão 2.1.2
Confira a seguir os novos recursos e melhorias desta versão.
Permitir endpoint da API personalizada para configuração
Há novos endpoints configuráveis para o proxy de autorização que oferecem suporte ao uso de um serviço de autenticação personalizado. Esses endpoints são:
edgeconfig:verify_api_key_url
edgeconfig:products
Para mais detalhes, consulte Como usar um serviço de autenticação personalizado.
Versão 2.1.1
Confira a seguir os novos recursos e melhorias desta versão.
Implantar um proxy de autenticação compatível com várias plataformas
Uma melhoria foi feita para que o comando usado para implantar o proxy de autorização do Edge Microgateway no Edge seja compatível com sistemas Windows.
Versão 2.1.0
Novos recursos e melhorias da v.21.0
Confira a seguir os novos recursos e melhorias:
Especificar opções de SSL/TLS do cliente
É possível especificar opções de cliente para conexões SSL/TLS com destinos usando um novo conjunto de opções de configuração. Consulte Como usar as opções de SSL/TSL do cliente.
Versão 2.0.11
Nota de instalação v2.0.11
Algumas versões anteriores do Edge Microgateway permitem instalar o software fazendo o download de um arquivo ZIP. Esses arquivos ZIP não são mais compatíveis. Para instalar o Edge Microgateway, use:
npm install -g edgemicro
Consulte o tópico de instalação para mais detalhes.
Novos recursos e melhorias v.2.0.11
Confira a seguir os novos recursos e melhorias:
Especificar uma porta na inicialização
O comando de início permite especificar um número de porta para substituir a porta especificada no arquivo de configuração. Também é possível especificar um número de porta usando a variável de ambiente PORT. Consulte comando start para mais detalhes.
Opcionalmente, preserve cabeçalhos de autenticação
Uma nova configuração, keepAuthHeader, permite preservar o cabeçalho de autorização enviado na solicitação. Se definido como "true", o cabeçalho de autenticação será transmitido para o destino. Consulte atributos do OAuth.
Capacidade de usar um serviço de autorização personalizado
Se você quiser usar seu próprio serviço personalizado para processar a autenticação, mude o valor authUri no arquivo de configuração do microgateway do Edge para apontar para seu serviço. Para detalhes, consulte Como usar um serviço de autenticação personalizado.
Versão 2.0.4
O Edge Microgateway v.2.0.4 foi lançado em 25 de maio de 2016.
Novos recursos e melhorias v2.0.4
Confira a seguir os novos recursos e as melhorias desta versão.
Suporte para caminhos de recursos em produtos
O Edge Microgateway agora oferece suporte a caminhos de recursos em produtos. Os caminhos de recursos permitem restringir o acesso a APIs com base no sufixo do caminho do proxy. Para detalhes sobre como criar produtos e configurar caminhos de recursos, consulte Criar produtos de API.
Suporte para o npm global install
Agora é possível instalar o Edge Microgateway usando a opção npm -g (global). Para saber mais sobre essa opção, consulte a documentação do npm.
Versão 2.0.0
O Edge Microgateway v2.0.0 foi lançado em 18 de abril de 2016.
Novos recursos e melhorias v.2.0.0
Confira a seguir os novos recursos e as melhorias desta versão.
Servidor de processo único
O Edge Microgateway agora é um servidor de processo único. Ele não usa mais um modelo de dois processos, em que um processo (anteriormente conhecido como "agente") inicia o microgateway do Edge, o segundo processo. A nova arquitetura facilita a automação e a conteinerização.
Arquivos de configuração com namespace
Os arquivos de configuração agora têm um namespace usando organização e ambiente para que várias instâncias de Microgateway possam ser executadas no mesmo host. Os arquivos de configuração podem ser encontrados em ~/.edgemicro depois de executar o comando de configuração do Edge Microgateway.
Novas variáveis de ambiente
Agora há quatro variáveis de ambiente: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY e EDGEMICRO_SECRET. Se você definir essas variáveis no sistema, não será necessário especificar os valores delas ao usar a interface de linha de comando (CLI) para configurar e iniciar a microgateway do Edge.
Configuração em cache
O Edge Microgateway usa um arquivo de configuração em cache se for reiniciado sem conexão com o Apigee Edge.
Modo de cluster
Agora há opções para iniciar o Edge Microgateway no modo cluster. O modo de cluster permite aproveitar sistemas multicore. A microgateway usa o módulo de cluster do Node.js para esse recurso. Para mais detalhes, consulte a documentação do Node.js.
Bugs corrigidos na v2.0.0
O ciclo de vida de eventos do plug-in agora processa corretamente o código assíncrono que contém um novo callback.
Versão 1.1.2
A versão 1.1.2 do Edge Microgateway foi lançada em 14 de março de 2016.
Novos recursos e melhorias v.1.1.2
Confira a seguir os novos recursos e as melhorias desta versão.
Melhoria de desempenho
O Edge Microgateway agora usa o agente HTTP do Node.js corretamente para um melhor pool de conexões. Essa melhoria melhora o desempenho e a estabilidade geral sob carga alta.
Suporte ao depurador remoto
É possível configurar o Edge Microgateway para executar com um depurador remoto, como o node-inspector.
Novo local do arquivo de configuração
Ao configurar o Edge Microgateway, o arquivo agent/config/default.yaml
agora é
copiado para ~./edgemicro/config.yaml
.
Rotação de arquivos de registro
Um novo atributo de configuração permite especificar um intervalo de rotação para os registros do Edge Microgateway.
Bugs corrigidos v1.1.2
Os bugs abaixo foram corrigidos na versão 1.1.2.
Descrição |
---|
O destaque em Java para o proxy edgemicro-internal usado com o Edge local agora usa o servidor MGMT correto. |
Remova as dependências de typescript do agente. |
Correção de um bug da CLI ao usar a opção de implantação simplificada. |
Correção da referência de dependência da lógica de certificado. |