Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Versão 3.3.x
Correções de bugs e melhorias v.3.3.x
3.3.2
Em 18 de agosto de 2023, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 compatíveis incluem: 16, 18 e 20. A partir da versão 3.3.2, os comandos da CLI do Edge Microgateway só vão funcionar nas versões compatíveis. A execução de comandos da CLI em versões não compatíveis resultará em erro. Consulte também Software e versões compatíveis com a Apigee. |
283947053 | Bug |
Foi corrigido um problema em que o Edge Microgateway 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 |
Foi corrigido 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, criaremos a imagem do Docker com a versão |
Problemas de segurança corrigidos
Nenhum.
3.3.1
Em 7 de junho de 2022, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 |
O Node.js versão 16 agora é compatível. |
231972608 | Bug |
Foi corrigido um problema em que o comando |
233315475 | Bug |
Foi corrigido um problema em que o plugin |
221432797 | Mudar |
A versão do Docker Node.js da imagem base do Edge Microgateway foi atualizada para o Node.js 14. |
215748732 | Recurso |
Adicionamos suporte à autenticação de tokens SAML ao comando revokekeys.
Agora você pode 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 de linha de comando. |
218723889 | Atualização de documentos |
A documentação foi atualizada para incluir um link para os plug-ins compatíveis do Edge Microgateway armazenados no GitHub. Consulte Plug-ins existentes incluídos no Edge Microgateway. |
Problemas de segurança corrigidos
Id do problema | Descrição |
---|---|
CVE-2021-23413 | Isso afeta o pacote jszip anterior à 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
No dia 4 de fevereiro de 2022, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 Edge Microgateway Gateway 3.3.0 é incompatível com o comando npm audit fix.
A execução de
Se você executar
Para corrigir o problema, execute o seguinte
comando 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 sinalização para o plug-in de cotas, |
192534424 | Bug |
Correção de um problema em que o código de resposta visto nas análises da Apigee não corresponde ao código de resposta do Edge Microgateway. |
198986036 | Melhoria | O Edge Microgateway agora busca a chave pública de um provedor de identidade (IdP) em cada intervalo de pesquisa e também atualiza a chave caso a chave pública do IdP seja alterada.
Antes, o plug-in extauth não conseguia atualizar a chave pública sem recarregar o Edge Microgateway quando a chave pública de um IDP mudava.
|
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 do arquivo de registros. Consulte Convenções de nomenclatura do arquivo de registros. |
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 | Foi corrigido um problema em que o comando revogarkeys retornava um erro ao revogar uma chave usando um par de chaves e secrets existente. |
205524197 | Bug | A documentação foi atualizada para incluir a lista completa de níveis de geração de registros. Consulte Atributos edgemicro e Como definir o nível de geração de registros. |
Versão 3.2.x
Correções de bugs e melhorias v.3.2.x
3.2.3
Em 17 de setembro de 2021, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 | Correção de um problema 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 serão removidos e a reinicialização do mesmo contêiner funcionará conforme o esperado.
|
190715670 | Bug | Correção de um problema em que algumas solicitações ficavam paralisadas durante a atividade de recarga interna
do microgateway. Esse problema era intermitente e ocorreu em situações de tráfego intenso.
O problema foi encontrado 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 uma barra final 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. |
Problemas de segurança corrigidos
Id do problema | Descrição |
---|---|
CVE-2020-28503 | Os recursos de cópia dos pacotes anteriores à versão 2.0.5 são vulneráveis à poluição do protótipo por meio da funcionalidade principal. |
CVE-2021-23343 | Todas as versões da análise de caminho do pacote são vulneráveis à negação de serviço (ReDoS) de expressões regulares usando as expressões regulares splitDeviceRe, splitTailRe e splitPathRe. O ReDoS exibe uma complexidade polinomial de pior caso. |
3.2.2
Na quinta-feira, 15 de julho de 2021, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 | Mudar |
O valor
As APIs de solicitação de token e de atualização de token agora retornam
Para estar em conformidade com o
Framework de autorização OAuth 2.0 da RFC 6749,
o valor esperado para o parâmetro de configuração |
188492065 | Mudar |
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 Softwares compatíveis e versões compatíveis: Edge Microgateway. |
183990345 | Recurso |
Configurar a saída do registro para o contêiner do Docker
Com o parâmetro de configuração do Edge Microgateway
to_console
para enviar informações de registro para a saída padrão, e não para um arquivo de registros. Se você seguir as etapas para executar o Edge Microgateway em um contêiner do Docker, o contêiner por padrão redirecionará stdout e saída de erro para um arquivo localizado no contêiner no local:
Para evitar que informações de registro sejam enviadas para Para detalhes sobre como usar essa nova variável, consulte Como usar o Docker para o Edge Microgateway. |
183057665 | Recurso |
Permite configurar os caminhos de arquivos edgemicro.pid e edgemicro.sock .
Um novo parâmetro |
191352643 | Recurso | A imagem do Docker para o Edge Microgateway foi atualizada para usar o NodeJS versão 12.22. Consulte Como usar o Docker para o Edge Microgateway. |
Problemas de segurança corrigidos
Id do problema | Descrição |
---|---|
CVE-2021-28860 | No mixme do Node.js, antes da v0.5.1, um invasor pode adicionar ou alterar as propriedades de um objeto usando "__proto__" por meio das funções mutate() e merge(). O atributo poluído será atribuído diretamente a cada objeto no programa. Isso vai colocar a disponibilidade do programa em risco, causando uma possível negação de serviço (DoS). |
CVE-2021-30246 | No pacote jsrsasign até 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 de 1.13.0-0 e antes de 1.13.0-2, de 1.3.2 e anteriores a 1.12.1 é vulnerável à injeção de código arbitrário pela função de modelo, especialmente quando uma propriedade variável é transmitida como um argumento já que 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, o início do regex usado para detectar mensagens de monitoramento poderia causar retrocesso 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 o Node.js versão 12.22. |
3.2.1
Na sexta-feira, 5 de março de 2021, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 as chaves JWK com um valor nulo causavam falha nos aplicativos.
A condição nula agora é processada para evitar a transmissão de um valor nulo em Observação:para fazer isso, é preciso fazer upgrade do proxy edgemicro-auth. |
179971737 | Bug |
Foi corrigido um problema em que as respostas de status de destino 4XX / 5XX eram registradas como erros de proxy
para proxies edgemicro_*.
Em transações do Edge Microgateway, as contagens incorretas de erros de destino foram mostradas no painel de análise do código de erro do Apigee Edge. Os códigos de erros de destino estavam sendo contados como erros de proxy. O problema foi corrigido, e as contagens corretas de erros de destino agora são exibidas. |
179674670 | Recurso |
Foi adicionado um novo recurso que permite filtrar a lista de produtos da 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 secret transmitidos na CLI ou por meio de variáveis de ambiente ficam visíveis
nos argumentos de linha de comando do explorador de processos.
Foi relatado um problema em que a chave e os valores secretos do Edge Microgateway que foram transmitidos de argumentos de linha de comando ou definidos por variáveis de ambiente eram exibidos nos argumentos dos processos filhos/filhos do nó após o início do microgateway. Para corrigir esse problema no cenário de variável de ambiente, os valores não são mais visíveis nos argumentos de linha de comando do Process Explorer. Se os valores de chave e secret forem transmitidos na linha de comando ao iniciar o microgateway, as configurações vão substituir todos os valores de variáveis de ambiente, se definidos. Nesse caso, os valores ainda ficam visíveis nos argumentos da linha de comando do explorador de processos. |
178341593 | Bug |
Corrigimos um erro de documentação do plug-in apikeys.
O arquivo README do plug-in apikeys
incluía 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 (em inglês), um payload de solicitação GET não tem semântica definida, portanto, pode ser enviado para o destino. |
3.2.0
Na quinta-feira, 21 de janeiro de 2021, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 | Ativação do plug-in extauth
para definir o cabeçalho x-api-key com o objetivo de
conter client_id no
objeto de solicitação quando o token for válido. O x-api-key estará disponível para
plug-ins subsequentes.
|
168836123, 172295489, 176462355, 176462872 | Recurso | Inclusão de suporte para Node.js 14. |
172376835 | Bug | Use a unidade de tempo correta para o endpoint /token no
proxy edgemicro-auth .
Foi corrigido um problema em que o endpoint
A correção não muda a duração do prazo de validade, mas apenas a unidade de tempo. Isso só se aplica ao campo Se os clientes estivessem contando com o valor Se os clientes sempre usaram os valores no token JWT para avaliar o período de atualização do token, eles não precisam mudar. |
173064680 | Bug | Foi corrigido um problema em que o 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 | Adicionar o gerenciamento adequado de dados 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 v.3.1.x
3.1.8
Na segunda-feira, 16 de novembro de 2020, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 processamento da substituição de variáveis de ambiente analisou todos os valores como
strings, o que resultou em erros de análise de valores booleanos ou
numéricos. Por exemplo, |
169202749 | Bug | A substituição da variável de ambiente não estava funcionando em alguns casos.
O processamento da substituição de variáveis de ambiente não estava funcionando para alguns atributos de configuração. Para informações sobre limitações, consulte Como definir atributos de configuração com valores de variáveis de ambiente. |
168732942 | Bug | Foi corrigido um problema em que os escopos do OAuth não restringivam o acesso ao 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 do produto da API não estão disponíveis para plug-ins personalizados.
Os escopos do produto da API não foram disponibilizados para plug-ins personalizados nem gravados no arquivo de configuração de cache. Consulte Sobre a função do plugin init() (em inglês) para ver como os detalhes do escopo são disponibilizados para os plug-ins. |
169810710 | Recurso | Chave e secret salvos no arquivo de configuração de cache.
A chave e o secret do Edge Microgateway eram salvos no arquivo YAML de configuração de cache a cada atualização/inicialização. Na versão 3.1.8, a chave e o secret não são mais salvos no arquivo de configuração de cache. Se a chave e o secret foram gravados anteriormente no arquivo de configuração de cache, eles serão removidos. |
170708621 | Recurso | Não é possível desativar o plug-in do Analytics.
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 | Recebendo 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 no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 os workers sairem.
|
133162200 | Bug | As informações do app do desenvolvedor não foram preenchidas na análise com respostas de status 403
causadas por caminhos não autorizados de recursos de produtos 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 do cliente 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 o Node.js versão 12.13.x ou mais recente 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 atualização manual do Edge Microgateway com redisBasedConfigCache:true
não estava funcionando.
|
149256174 | Bug | Os erros do plug-in OAuth não foram registrados para falhas de rede.
|
166517190 | Bug | Os dados jwk_public_keys não foram armazenados e
buscados pelo sincronizador e armazenados no Redis.
|
141659881 | Bug | O tratamento de erros de certificado de destino inválido
mostrou respostas de erro enganosas.
|
142808699 | Bug | O plug-in accesscontrol não estava gerenciando as seções "allow" e "deny"
corretamente.
Agora, o microgateway processa a seção de negação corretamente e respeita a ordem das
seções "permitir" e "negar". Uma nova |
3.1.6
Na quinta-feira, 20 de agosto de 2020, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 de arquivos de chave e certificado para o comando de rotationkey.
Para detalhes sobre essas novas opções de comando, consulte Alternar chaves. |
||||||||||||
154838259 | Bug | Corrigir a rotação de chaves em várias instâncias em vários data centers
Para detalhes sobre essas novas opções de comando, consulte Alternar chaves. |
||||||||||||
145525133 | Recurso da versão Alfa | Novas métricas do plug-in
Consulte o README Novas métricas de plug-ins (em inglês) no GitHub para mais detalhes. |
||||||||||||
159396879 | Bug | Remover assistente de pacote não usado | ||||||||||||
161092943 | Bug | A validação do caminho base estava incorreta
Antes da versão 3.1.6, a correspondência incorreta do caminho base do proxy era feita quando ele
não terminava com Veja a seguir uma explicação mais detalhada sobre o comportamento anterior (que foi corrigido na versão 3.1.6):
Suponha que um proxy esteja configurado com o caminho de base:
|
||||||||||||
160431789 | Bug | Plug-ins personalizados: o objeto de configuração transmitido para init não está 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 apoio do Redis
É possível usar a configuração a seguir para especificar um armazenamento de apoio do Redis para cotas. Para detalhes, consulte Como usar um armazenamento de apoio do Redis para cota. |
3.1.5
Na sexta-feira, 26 de junho de 2020, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 do plug-in
Um novo recurso de configuração foi adicionado para pular o processamento de plug-ins para URLs especificados. Para mais detalhes, consulte Como configurar URLs de exclusão para plug-ins. |
156986819, 158529319 | Bug | Problemas com o plug-in json2xml foram corrigidos
Correção de problemas em que o plug-in produzia 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 Foi adicionado um recurso que permite especificar variáveis de ambiente usando tags no arquivo de configuração. As tags da variável de ambiente especificada são substituídas pelos valores reais das variáveis de ambiente. As substituições são armazenadas somente na memória e não são armazenadas na configuração original nem nos arquivos em cache. Para mais detalhes, consulte Definir atributos de configuração com valores de variáveis de ambiente. |
(155077210). | Bug | Corrigimos um problema de formatação de registro.
Foi corrigido um problema em que o host de destino aparecia em registros com dois pontos externos anexados a ele. |
153673257 | Bug | (Somente no Edge para nuvem privada) Produtos com reconhecimento de Microgateway não extraídos Corrigimos um problema que impedia a extração de produtos que reconhecem microgateways. Esse problema existia no Edge apenas para instalações de nuvem privada. |
154956890, 155008028, 155829434 | Recurso | Suporte para filtragem de produtos transferidos por download por atributos personalizados
Para mais detalhes, consulte Como filtrar produtos por atributos personalizados. |
153949764 | Bug | Foi corrigido um problema em que o processo do Edge Microgateway falhava quando
o arquivo de destino do registro estava cheio
O tratamento de exceções foi melhorado para interceptar o erro e imprimir uma mensagem no console. |
155499600 | Bug | Problemas com rotação de chaves e upgrade da KVM foram corrigidos
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 para o Edge Microgateway.
Correção de bug:
Foi corrigido um problema de dependência na versão 3.1.3. A versão 3.1.3 foi marcada como descontinuada no repositório npm. Caso contrário, 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 Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
3.1.3 | 3.1.3 | 3.1.3 | 3.0.14 | 3.0.9 |
Correções de bugs e melhorias:
- 153509313: foi corrigido 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 3.1.0, v3.1.1 e 3.1.2.
- 153509313: foi corrigido um problema em que o mesmo ID de mensagem para duas transações diferentes era impresso na saída de geração de registros.
- 151673570: foi corrigido um problema em que o Edge Microgateway não era atualizado para usar as novas APIs Apigee KVM. O Edge Microgateway agora usa os novos comandos para adicionar e atualizar os valores de KVM.
- 152822846: em versões anteriores, o Edge Microgateway foi atualizado para que o processamento
do mapeamento de caminho de recursos corresponda ao da Apigee Edge. Nesta versão, foi corrigido 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 alterações para habilitar as cotas de identificadores com escopo de organização e ambiente.
- 152005003 - Foram feitas alterações para habilitar as cotas de identificadores com escopo de organização e ambiente. A combinação de "org + env + appName + productName" é usada como identificador de cota.
3.1.2
Na segunda-feira, 16 de março de 2020, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
3.1.2 | 3.1.2 | 3.1.2 | 3.0.13 | 3.0.9 |
Correções de bugs e melhorias:
- 151285018: uma melhoria no recurso foi feita para adicionar suporte ao proxy HTTP no tráfego entre o Edge Microgateway e os destinos de back-end. Além disso, os problemas relacionados ao suporte ao proxy HTTP atual entre o Edge Microgateway e o Apigee Edge foram corrigidos. Confira mais detalhes em:
- 149101890: o código de notificação de registro para os casos em que o servidor de destino ou o balanceador de carga encerra a conexão foi alterado de ERROR para INFO.
- 150746985: foi corrigido 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 feito um aprimoramento para fechar as conexões do servidor mais rapidamente quando os workers são reiniciados durante uma atualização.
- 151588764: atualize para a versão 12 a versão do Node.js na imagem do Docker usada para executar o Edge Microgateway em um contêiner do Docker, porque o Node.js v8 está obsoleto.
- 151306049: foi feita uma atualização na documentação 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 no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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, serão ignoradas. Apenas as variáveis de ambiente serão usadas para especificar o proxy.Se você quiser especificar a configuração de proxy no arquivo de configuração, especifique também uma variável
HTTP_PROXY
que mencione o mesmo URL de proxy que o 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
Também é necessário especificar esta variável de ambiente:
HTTP_PROXY=http://10.128.0.20:3128
- 146320620: um novo parâmetro de configuração,
edgemicro.headers_timeout
, foi adicionado. Esse atributo limita o tempo (em milissegundos) que o analisador HTTP aguardará para receber os cabeçalhos HTTP completos. Por exemplo:edgemicro: keep_alive_timeout: 6000 headers_timeout: 12000
Internamente, o parâmetro define o atributo
Server.headersTimeout
do 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 descartem 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 da API em vez de usar uma configuração de tempo limite global.
Se você definir a propriedade
io.timeout.millis
do TargetEndpoint no proxy de API, o Edge Microgateway poderá recuperar essa propriedade e aplicar tempos limite específicos do endpoint de destino. Se esse parâmetro não for aplicado, o Edge Microgateway usará o tempo limite global especificado comedgemicro.request_timeout
.
3.1.0
Na terça-feira, 21 de janeiro, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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 de WARN (aviso) será registrado quando a sinalização
quotas.failOpen
for acionada. Essa sinalização será acionada se ocorrer um erro de processamento de cota ou se a solicitação "quota apply" ao Edge falhar ao atualizar os contadores remotos. Nesse caso, a cota será processada com base em contagens locais somente até que a próxima sincronização remota de cota ocorra. Antes, esse evento só era registrado quando o nível de registro era 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: foi corrigido um problema em que transações em andamento ou novas eram afetadas sempre que o Edge Microgateway detectava uma mudança em um proxy de API. Agora, quando é feita uma alteração em um proxy, o Edge Microgateway atualiza o cache e os nós de trabalho são reiniciados. Com essa mudança, as transações em andamento e novas chamadas de API que estão sendo enviadas para o microgateway não são afetadas.
- 146378327: o nível de registro de
sourceRequest
,targetRequest
etargetResponse
mudou para o nível INFO. - 146019878: foi corrigida uma discrepância entre a latência calculada para o "Desempenho do proxy da API" na análise do Edge e nos eventos de registro sourceResponse/targetResponse do Edge Microgateway. Agora, a latência na análise do Edge e nos eventos de registro do Microgateway está alinhada.
- Mudanças relacionadas à lógica de correspondência de padrões:
- 147027862: o plug-in OAuth foi atualizado para oferecer suporte aos seguintes padrões de correspondência de caminho de recurso, conforme especificado nos produtos de API:
/{literal}**
/{literal}*
- Qualquer combinação de dois padrões acima
Com essa alteração, 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 de '/', '/*' e '/**'.
- 145644205 - Atualização da lógica de correspondência de padrão do plug-in apiKeys para corresponder ao plug-in OAuth.
- 147027862: o plug-in OAuth foi atualizado para oferecer suporte aos seguintes padrões de correspondência de caminho de recurso, conforme especificado nos produtos de API:
- 143488312: foi corrigido um problema em que espaços à esquerda ou à direita no parâmetro do ID do cliente faziam com que a criação da lista de produtos JWT ficasse vazia para solicitações do token OAuth e da 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 local do Redis. Outras instâncias de microgateway podem ser configuradas para ler os
dados de configuração relacionados a partir do banco de dados. Esse recurso adiciona um nível de resiliência ao Edge Microgateway.
Ele permite que instâncias de microgateway sejam iniciadas e funcionem sem precisar se comunicar com
o Apigee Edge. Para mais detalhes, consulte
Como usar o sincronizador.
No momento, o recurso de sincronização é compatível com o Redis 5.0.x.
Versão 3.0.x
Correções de bugs e melhorias v.3.0.x
3.0.10
Na sexta-feira, 8 de novembro, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
3.0.10 | 3.0.8 | 3.0.8 | 3.0.11 | 3.0.8 |
Correções de bugs e melhorias:
-
142677575: foi feita uma atualização de recurso para que a correspondência de padrões para caminhos de recursos usados em produtos de API para o Edge Microgateway agora se alinhe com a correspondência de padrão de caminho de recurso usada pelo Apigee Edge, conforme descrito em Como configurar o comportamento de um caminho de recurso de '/', '/*' e '/**'.
Observação: se você usar um padrão de recurso composto, como
/*/2/**
, verifique se o proxyedgemicro_auth
foi adicionado a um produto de API autônomo. Em seguida, inclua esse produto no app de 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 "/" e '/**', não é compatível com o Edge Microgateway. 143740696: a estrutura de configuração
quotas
foi alterada. 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 de YAML. Observe que a propriedade de configuração é chamada dequotas
. Para detalhes sobre as propriedades de configuração doquotas
, consulte Opções de configuração para 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 armazenamento de apoio
de 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 armazenamento de apoio, e o contador de cotas será global. Para mais detalhes, consulte Opções de configuração de cotas. Por exemplo:edgemicro: ... quotas: useRedis: true redisHost: localhost redisPort: 6379 redisDb: 1
. - 140574210: o prazo de validade padrão dos tokens gerados pelo proxy
edgemicro-auth
mudou de 108.000 milissegundos (1,8 minuto) para 1.800 segundos (30 minutos). - 143551282: para oferecer suporte a organizações ativadas por SAML, o comando
edgemicro genkeys
foi atualizado para incluir um parâmetro‑‑token
. Esse parâmetro permite que você use um token OAuth para autenticação em vez de nome de usuário/senha. Para mais detalhes, consulte Gerar chaves.
3.0.9
Na sexta-feira, 11 de outubro, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
3.0.9 | 3.0.7 | 3.0.7 | 3.0.10 | 3.0.7 |
Correções de bugs e melhorias:
- 141989374: um novo recurso "falha ao abrir" foi adicionado ao plug-in de cota.
Quando esse recurso estiver ativado, se ocorrer um erro de processamento de cota ou se a solicitação "quota apply" ao Edge não atualizar os contadores remotos, a cota será processada com base em contagens locais somente até que a próxima sincronização remota bem-sucedida ocorra. Em ambos os casos, uma sinalização
quota-failed-open
é definida no objeto da solicitação.Para ativar o recurso de "falha ao abrir" cota, defina a seguinte configuração:
quotas : failOpen : true
Observação: além disso, o nome da sinalização do objeto de solicitação
fail-open
do plug-in OAuth mudou paraoauth-failed-open
. - 142093764: uma mudança de configuração foi feita no proxy
edgemicro-auth
para evitar exceder a cota. A mudança é definir o tipo de cota como agenda. Para usar essa melhoria, é necessário atualizar oedgemicro-auth
para a versão 3.0.7 ou mais recente. - 142520568: um novo recurso foi adicionado para permitir a geração de registros do ID do MP (processador de mensagens) nas respostas de cota. Para usar esse recurso, é necessário atualizar
o proxy
edgemicro-auth
para a versão 3.0.7 ou mais recente e definir a seguinte configuração:quotas: useDebugMpId: true
Quando
useDebugMpId
estiver definido, as respostas de cota do Edge vão conter o ID de 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 no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
3.0.8 | 3.0.6 | 3.0.6 | 3.0.9 | 3.0.6 |
Correções de bugs e melhorias:
- 140025210: um novo recurso "falha ao abrir" foi adicionado. 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 para o proxy
edgemicro-auth
.Esse 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 Edge Microgateway continue processando solicitações em caso de falha temporária de conexão. Quando a conectividade é retomada e uma chamada "Verificar chave de API" bem-sucedida é realizada, um novo JWT é buscado e substitui o JWT antigo no cache.
Para configurar o novo recurso de falha ao abrir, faça o seguinte:
- Defina as seguintes propriedades na estrofe
oauth
no arquivo de configuração do Edge Microgateway: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 cinco 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 estrofe
- 141168968: uma atualização foi feita para incluir o
correlation_id
em todas as saídas de registro do plug-in. Além disso, os níveis 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 secret do Edge Microgateway fossem verificados em cada solicitação de verificação da chave de API. O Edge Microgateway foi atualizado para sempre enviar a chave e o secret em todas as solicitações de verificação da chave de API. Essa alteração 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 da cota. Com essa alteração, agora é possível correlacionar a saída de registros quoto com o restante dos registros do Edge Microgateway.
3.0.7
Na quinta-feira, 12 de setembro, lançamos as seguintes correções e melhorias no Edge Microgateway.
Versões dos componentes:
Na tabela a seguir, listamos 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 (em inglês) |
---|---|---|---|---|
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. Antes, o plug-in só retornava códigos de status 4xx em todos os casos diferentes de 200. Agora, para qualquer resposta de mensagem que não tenha 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
à sua 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 foi adicionada,
quota.quotaUri
. Defina esta propriedade de configuração se você quiser gerenciar cotas por meio do proxyedgemicro-auth
que foi implantado na sua organização. Se essa propriedade não for definida, o endpoint da cota será definido por padrão como o endpoint interno do Edge Microgateway. Por 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 mais detalhes, 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 "organização" do identificador de cota. Como o endpoint da cota reside na organização do cliente, o identificador de cota não é mais necessário. - 140823165 – O seguinte nome da propriedade:
edgemicro: keepAliveTimeout
foi documentado incorretamente na versão 3.0.6. O nome correto da propriedade é:
edgemicro: keep_alive_timeout
- 139526406: Foi corrigido um bug em que uma contagem de cota incorreta ocorria se um app de desenvolvedor tinha vários produtos. A cota agora é aplicada corretamente para cada produto em um app que tem 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 no Edge Microgateway.
- 138633700: foi adicionada uma nova propriedade de configuração,
keepAliveTimeout
. Esta propriedade permite definir o tempo limite do Edge Microgateway (em milissegundos). (Padrão: 5.000 milissegundos)Exemplo:
edgemicro: keep_alive_timeout: 600
- 140090623: nova propriedade de configuração,
quotaUri
. Defina esta propriedade de configuração se quiser gerenciar cotas por meio do proxyedgemicro-auth
que está implantado na sua organização. Se essa propriedade não for definida, o endpoint de cota será padronizado como o endpoint interno do Edge Microgateway. Por exemplo:edge_config: quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
Para usar esse recurso, primeiro é preciso implantar 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: nova propriedade de configuração,
stack_trace
. Essa propriedade permite controlar se os stack traces aparecem ou não nos arquivos de registros. Por exemplo:stack_trace: false
Se
stack_trace
estiver definido comotrue
, o stack trace será impresso nos registros. Se ele for definido comofalse
, o stack trace não será impresso nos registros.
3.0.5
Na quinta-feira, 15 de agosto, lançamos as seguintes correções e melhorias no Edge Microgateway.
Bugs corrigidos- 139005279: foi corrigido um problema em que o comando
edgemicro status
não retornava o número certo de processos de worker. - 138437710: foi corrigido um problema na classe ExitCounter que impedia a gravação do registro adequado.
- 139064652: foi adicionado o recurso de adicionar níveis de geração de registros
trace
edebug
para registros de eventos e do sistema. Por enquanto, apenas o recurso de adicionar esses níveis de registro foi adicionado. No momento, os níveis de registro disponíveis sãoinfo
,warn
eerror
. - 139064616 - A saída de registro foi padronizada para todos os log statements do console. As instruções de geração de registros do console 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 secrets e chaves JWT para estes comandos da CLI: cert, Verify, upgradekvm, token, genkeys, revogarkeys, rotationkey e configure.
- 138413577: adição e melhoria do tratamento de erros para tempos limite do serviço de back-end.
- 138413303: adição e melhoria do tratamento de erros para tempos limite de resposta e soquete.
- 138414116: adicione e melhore o tratamento de erros de "conexão recusada".
3.0.4
Na quinta-feira, 1o de agosto, lançamos as seguintes correções e melhorias no Edge Microgateway.
- 134445926 – Melhorias na autenticação interna do Edge Microgateway.
- 137582169: resolvido um problema em que processos indesejados eram iniciados. Os processos extras faziam com que os plug-ins recarregassem e usavam memória excessiva. O Edge Microgateway agora mantém o número de processos dentro do limite esperado.
- 137768774 - Melhorias nas mensagens de registro:
- Limpeza dos registros de transação (solicitação).
- 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 registros relevante.
- Atualização dos registros do console para usar uma função centralizada de geração de registros.
- 138321133, 138320563 - Mudança interna básica no buffer de cota para ativar futuras melhorias de cota.
3.0.3
Na terça-feira, 23 de julho, lançamos as seguintes correções e melhorias no Edge Microgateway.
- Melhorias no Logging: os registros atuais do ambiente de execução usam uma nova função
eventLog()
que captura e registra dados do ambiente 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 da solicitação no cabeçalho da solicitação.
- ID do processo: se você está executando um cluster de processos do Node.js, esse é o ID do processo em que a geração de registros ocorreu.
- Nome da organização da Apigee.
- Nome do ambiente na organização.
- Nome do proxy de 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 que são 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 nessa propriedade.
- Tempo gasto.
- Marcador de fim de linha do sistema operacional.
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)
- Diversas integrações de testes funcionais 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: a qualidade do código foi analisada, e as mudanças foram feitas para
atender aos padrões de qualidade solicitados pelos usuários. Resolvemos erros e avisos de qualidade de código
derivados de JSHint.
Alguns erros de código reais foram identificados e reparados como resultado. Todos os módulos do Apigee Edge Microgateway
passaram por esse processo. Confira 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 de clientes.
3.0.1
Na sexta-feira, 21 de junho de 2019, lançamos as seguintes correções e melhorias no Edge Microgateway.
- 134834551: mudar as versões compatíveis do Node.js com o Edge Microgateway
(versões compatíveis com Node.js: 8 e 12; as versões 7, 9 e 11 são experimentais) - 134751883: falha do Edge Microgateway ao recarregar sob carga
- 134518428: o endpoint de produtos para o Edge Microgateway retorna 5XX se o padrão de filtro estiver incorreto
- 135113408: os workers precisam ser reiniciados se encerrarem inesperadamente
- 134945852 - tokenCacheSize não é usado no plug-in OAuth
- 134947757 - definir cacheTTL no plug-in OAuth
- 135445171 - O cálculo do período de carência no OAuth não está correto
- Usar 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. Corrigido no módulo de plug-ins de microgateway do Edge. (b/134672029)
(Adicionada na versão 2.5.37) Adicione a opção da CLI edgemicro-cert -t
.
A opção edgemicro cert -t
permite especificar um token OAuth para autenticar as APIs de gerenciamento. Consulte também Gerenciar certificados.
(Adicionado 2.5.35) Adição de suporte para depurar o Edge Microgateway usando edgemicroctl
.
É possível usar a sinalização mgdebug
com edgemicroctl
. Consulte também Tarefas de integração do Kubernetes.
(Adicionado 2.5.35) Ativar um build do Windows para edgemicroctl
.
(Adicionada 2.5.31) Nova API Edgemicro-auth/token
Foi adicionada uma nova API Edgemicro-auth/token que permite transmitir o cliente/secret como um cabeçalho de autorização básica codificado em Base64 e o Grants_type como parâmetro de formulário. Consulte Receber tokens do portador diretamente.
(Corrigido 2.5.31) A configuração particular não respeita a sinalização de token
Foi corrigido um problema em que a configuração do Edge Microgateway para usar um token de acesso OAuth2 no Edge para nuvem privada não funcionava corretamente (o token não era respeitado).
Docker: suporte ao uso de certificados autoassinados (em inglês)
(Adicionado 2.5.29) Se você estiver usando uma autoridade de certificação (CA) em que o Node.js não confia por padrão, use o parâmetro NODE_EXTRA_CA_CERTS
ao executar um contêiner do Docker
com o Edge Microgateway.
Para detalhes, consulte Como usar uma CA em que o Node.js não confia.
Docker: suporte a TLS (em inglês)
(Adicionado 2.5.29) O Edge Microgateway em execução em um contêiner do Docker agora oferece suporte a TLS para solicitações de entrada para o servidor do Edge Microgateway (solicitações para o norte) e para solicitações de saída do Edge Microgateway para um aplicativo de destino (solicitações de sentido sul).
Os exemplos a seguir explicam em detalhes como definir essas configurações de TLS:
Nestes exemplos, você verá como usar o ponto de montagem /opt/apigee/.edgemicro
do contêiner para carregar
os certificados, que são mencionados no arquivo de configuração do Edge Microgateway.
Docker: suporte para proxy de solicitações (em inglês)
(Adicionado 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 sendo executado atrás de um firewall:
HTTP_PROXY
HTTPS_PROXY
NO_PROXY
Para saber mais detalhes, consulte Executar o Edge Micro como um contêiner do Docker.
Docker: instruções de plug-in atualizadas (em inglês)
(Adicionado 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, que existia anteriormente, não mudava. No entanto, o Dockerfile foi atualizado. Para mais detalhes, consulte os seguintes 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 (atualização)
Suporte ao novo token OAuth para o comando de upgrade do KVM
(Adicionado 2.5.27) É possível usar um token OAuth com o comando upgradekvm
. Para mais detalhes, consulte
Como fazer upgrade da KVM.
Como separar APIs no Edge Analytics
(Adicionado 2.5.26) Novas flags de plug-in de análise permitem separar um caminho de API específico para que ele apareça como um proxy separado nos painéis do Edge Analytics. Por exemplo, é possível segregar 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 2.5.25) Com um proxy local, não é necessário criar manualmente um proxy com reconhecimento de microgateway no Apigee Edge. Em vez disso, o microgateway vai usar o caminho base do proxy local. Para mais informações, consulte Como usar o modo de proxy local.
Como usar o modo independente
(Adicionado 2.5.25) É possível executar o Edge Microgateway completamente desconectado 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 2.5.19) Um novo comando da CLI foi adicionado que revoga as credenciais de chave e secret de uma configuração do Edge Microgateway.
edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]Para mais informações, consulte Revogar chaves.
Suporte ao Docker
(Adicionado 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 do Kubernetes
(Adicionado 2.5.19) É possível implantar o Edge Microgateway como um serviço ou como um gateway de arquivo secundário na frente dos serviços implantados em um cluster do Kubernetes. Consulte: Visão geral da integração do Edge Microgateway com o Kubernetes.
Suporte à opção TCP sem atraso
(Adicionada 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 em buffer os dados antes de enviá-los. Definir nodelay
como true
desativa esse comportamento (os dados serão imediatamente acionados sempre que socket.write()
for chamado). Consulte também a documentação do Node.js para mais detalhes.
Para ativar nodelay
, edite o arquivo de configuração do Edge Micro da seguinte forma:
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 contínuo
(Adicionado 2.5.12) Novos parâmetros foram adicionados ao comando edgemicro forever
. Esses parâmetros permitem que você
especifique o local do arquivo forever.json
e inicie ou interrompa o processo
em segundo plano. 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 é iniciar. |
Exemplos:
Para começar "Para sempre":
edgemicro forever -f ~/mydir/forever.json -a start
Para parar definitivamente:
edgemicro forever -a stop
Rotação de chaves JWT
Adicionamos um novo recurso que permite alternar os pares de chaves públicas/privadas usados para gerar os tokens JWT usados para a segurança OAuth no Edge Microgateway. Consulte Como fazer a rotação de chaves JWT.
Como filtrar proxies de API transferidos por download
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 alterar esse padrão para fazer o download de proxies com nomes que correspondem a um padrão. Consulte Como filtrar proxies transferidos por download.
Como especificar produtos sem proxies de API
Na Apigee Edge, é possível criar um produto de API sem proxies de API. Essa configuração de produto 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 é compatível com essa configuração do produto.
Suporte para monitoramento contínuo
O Edge Microgateway tem um arquivo forever.json
que pode ser configurado para
controlar quantas vezes e com quais intervalos o Edge Microgateway precisa ser reiniciado. Esse arquivo configura um serviço chamado "Always-monitor", que gerencia o Forever de maneira programática. Consulte
Monitoramento contínuo.
Gerenciamento central do arquivo de configuração do Edge Micro
Se você executa várias instâncias do Edge Microgateway, pode gerenciar as configurações delas em um único local. Para fazer isso, especifique um endpoint HTTP em que o Edge Micro pode fazer o download do arquivo de configuração. Consulte Como especificar um endpoint de arquivo de configuração.
Suporte para a opção de CLI definitivamente
(Adicionado 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
Inclusão da opção configUrl para recarregar o comando
(Adicionado 2.5.8) Agora você pode 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 2.5.7) Um atributo gracePeriod na configuração OAuth ajuda a evitar erros causados por pequenas discrepâncias entre o relógio do seu sistema e os horários Não antes (nbf) ou Emitido em (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 2.5.7) Um atributo gracePeriod na configuração OAuth ajuda a evitar erros causados por pequenas discrepâncias entre o relógio do seu sistema e os horários Não antes (nbf) ou Emitido em (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 v2.5.x
- (Problema no 236) Corrija o erro de digitação na limpeza do cache.
- (Problema 234) Atualização de falhas para o Edge Microgateway 2.5.35.
- Problema no 135: erro "secure" 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, é possível especificar qualquer número e nome para o host virtual (não mais restrito ao padrão e seguro).
- Problema no 141: o comando edgemicro refresh não é compatível com a opção de arquivo de configuração -c. Esse problema foi corrigido.
- (Problema 142) O Edge Microgateway reclama de 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 Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against- Privacidade-api-proxies-a.html#answer-33336 Token JWT validado em proxies de API e URI de recursos no OAUTH. Esse problema foi corrigido.
- (Problema na comunidade Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) O Microgateway não está funcionando com o 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 foi definido. - (Problema 169) Atualizar dependências do Node.js (auditoria de npm)
- O proxy
edgemicro-auth
agora usa as políticas do Edge JWT. O proxy não depende mais do Node.js para oferecer suporte ao 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 alterar o caminho base padrão para o proxy edgemicro-auth. Por padrão, o caminho base é /edgemicro-auth. Para alterá-lo, use a sinalização -x no comando edgemicro configure.
Exemplo:
edgemicro configure -x /mypath …
2. Compatibilidade com caracteres curinga para caminhos base (PR 77)
É possível usar um ou mais caracteres curinga "*" no caminho 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 precisar criar novos proxies de API para dar suporte a novas equipes. Observe que /**/ não é compatível.
Importante: a Apigee NÃO aceita o uso de um caractere curinga "*" como o primeiro elemento de um caminho base. Por exemplo, NÃO é possível usar: /*/pesquisa.3. Caminho de configuração personalizado adicionado à CLI para configuração de nuvem privada (PR 99)
Por padrão, o arquivo de configuração do microgateway está em ./config/config.yaml. Nos comandos init, configure e start, agora você pode especificar um caminho de configuração personalizado na linha de comando usando as sinalizações -c ou --configDir. Correção de um problema em que um diretório de configuração personalizado para instalações de nuvem privada não era reconhecido.
Exemplo:
edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config
4. Respeite as variáveis *_PROXY (PR 61)
Se o Edge Microgateway estiver instalado atrás de um firewall e não puder se comunicar com o Apigee Edge na nuvem pública, há duas opções a serem consideradas:
Opção 1:
A primeira opção é definir a opção Edgemicro: proxy_tunnel como "true" no arquivo de configuração do microgateway:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: true
Quando proxy_tunnel for true, o Edge Microgateway usará o método HTTP CONNECT para encapsular solicitações HTTP em uma única conexão TCP. O mesmo acontece se as variáveis de ambiente para configurar o proxy estiverem com o TLS ativado.
Opção 2:
A segunda opção é especificar um proxy e definir proxy_tunnel como false no arquivo de configuração do microgateway. Exemplo:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: false
Nesse caso, é possível definir as seguintes variáveis para controlar os hosts de cada proxy HTTP que você quer usar ou quais hosts não podem processar proxies do Edge Microgateway: HTTP_PROXY, HTTPS_PROXY e NO_PROXY. É possível definir NO_PROXY como uma lista de domínios delimitados por vírgulas para os quais o Edge Microgateway não deve representar. 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 destino (PR 57)
É possível definir um tempo limite personalizado para as 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 responderá com um código de status 504.
6. Respeite as 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. Nas 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 client_ip para análise
Se estiver presente, o cabeçalho X-Forwarded-For definirá a variável client_ip que é informada no Edge Analytics. Esse recurso informa o IP do cliente que enviou uma solicitação para o Edge Microgateway.
8. Alterações no plug-in OAuth
O plug-in OAuth oferece suporte à verificação de chaves de API e de token de acesso OAuth. Antes dessa mudança, o plug-in aceitava qualquer uma das formas de segurança. Com essa mudança, é possível permitir apenas um desses modelos de segurança, mantendo a compatibilidade com versões anteriores.
Os plug-ins OAuth adicionam duas novas sinalizações:
-
allowOAuthOnly: se definido como true, cada API precisa ter um cabeçalho de autorização com um token de acesso do portador.
-
allowAPIKeyOnly: se definida como true, cada API precisa ter um cabeçalho x-api-key (ou um local personalizado) com uma chave de API.
Defina essas sinalizações 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)
Foram feitas melhorias no proxy edgemicro-auth. Antes dessas mudanças, o proxy armazenava as chaves no Edge Secure Store, um cofre criptografado. Agora, o proxy armazena chaves no mapa de chave-valor criptografado (KVM) do Edge.
10. Reescrever o 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 essas 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 conversa para mais informações.
11. Suporte inicial para autenticação do 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 e 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 v2.4.3
- Correção de um problema em que uma organização paga era obrigada a 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 o processamento de dados, mas os gerenciadores finais estavam em execução mesmo assim. 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 privada não era reconhecido. (PR 110)
- Correção de um problema com SSL bidirecional entre o cliente e o Edge Microgateway. (PR 70)
- Correção de um problema em que uma barra final era exigida no caminho base do proxy para que a verificação da chave de API funcionasse corretamente. Assim, não é mais necessária uma barra 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 com reconhecimento de microgateway uma instância do Edge Microgateway vai processar.
Quando o Edge Microgateway é iniciado, ele faz o download de todos os proxies com reconhecimento de microgateway na
organização a que está associado. Use a configuração a seguir para limitar quais proxies o
microgateway processará. Por exemplo, esta configuração limita a três proxies que o microgateway
processará: edgemicro_proxy-1
, edgemicro_proxy-2
e
edgemicro_proxy-3
:
proxies: - edgemicro_proxy-1 - edgemicro_proxy-2 - edgemicro_proxy-3
Máscara de dados do Google Analytics
Uma nova configuração permite que você impeça a exibição de informações do caminho da solicitação na análise do Edge. Adicione o seguinte à configuração do microgateway para mascarar o URI e/ou o caminho da solicitação. O URI consiste no nome do host e nas partes do 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
Veja a seguir os novos recursos e melhorias desta versão.
Desativar a pesquisa de mudança automática
É possível desativar a pesquisa de mudança automática definindo este atributo na configuração do microgateway:
disabled_config_poll_interval: true
Por padrão, a pesquisa periódica coleta todas as alterações feitas no Edge (alterações em produtos, proxies com reconhecimento de microgateway etc.), bem como alterações feitas no arquivo de configuração local. O intervalo de pesquisa padrão é de 600 segundos (cinco minutos).
Como reescrever URLs de destino em plug-ins
Você pode modificar o URL de destino padrão de forma dinâmica em um plug-in. Para isso, modifique estas variáveis no código do plug-in: req.targetHostname e req.targetHostname.
Nova assinatura da função de plug-in
Foi adicionada uma nova assinatura de função de plug-in que 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 geração de registros padrão simplificada
Por padrão, o serviço de geração de registros agora omite o JSON de proxies, produtos e JWT transferidos por download.
É possível mudar para o padrão de saída desses objetos configurando 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 "init", "configure" e "start", 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 v2.3.3
- Foi corrigido um vazamento de memória que ocorria durante solicitações/respostas grandes.
- A ordem de execução do plug-in foi corrigida. Agora, ele se comporta conforme explicado na documentação.
- O plug-in generate-request não trava mais para solicitações GET.
- Foi corrigido um problema no plug-in de acumulação de respostas, em que a falta de corpo da resposta causava erros.
Versão 2.3.1
Nota de 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, é necessário usar:
npm install -g edgemicro
Consulte o tópico de instalação para mais detalhes.
Novos recursos e melhorias v.2.3.1
Veja 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, o microgateway carregou todos os proxies com reconhecimento de microgateway (proxies chamados Edgemicro_*) extraídos da organização/ambiente do Edge especificado no comando de configuração do Edgemicro. Esse novo recurso permite filtrar essa lista de proxies para que o Edge Microgateway carregue apenas os que você especificar. Basta adicionar o elemento de proxies ao arquivo de configuração do microgateway da seguinte maneira:
edge micro: proxies: - edgemicro_[name] - edgemicro_[name] ...
Por exemplo, digamos que você tenha 50 proxies edgemicro_*
na sua organização/ambiente do Edge, incluindo os chamados edgemicro_foo
e edgemicro_bar
. É possível
instruir o microgateway a usar apenas estes 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 com reconhecimento de microgateway transferidos por download da organização/ambiente do Edge vai resultar em 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 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).
Vamos considerar um caso em que a solicitação recebida contém dados e você quer definir cabeçalhos na solicitação de destino. Nas versões anteriores do Edge Microgateway, não era possível definir cabeçalhos de destino de maneira confiável nesse caso.
A chave para esse padrão é primeiro acumular todos os dados de entrada do cliente. Em seguida, na
função onend_request()
, use a nova função request.setOverrideHeader(name,
value)
para personalizar os cabeçalhos.
Veja um exemplo de código do plug-in que mostra como fazer isso. Os cabeçalhos definidos em
onend_request
são enviados ao 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, defina cabeçalhos de destino no gerenciador onrequest()
. Esse padrão não é novo. Ele foi documentado anteriormente e foi usado nos plug-ins de amostra 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 atualização sem inatividade
Depois de fazer uma alteração na configuração do Edge Microgateway, é possível carregar a configuração
sem descartar nenhuma mensagem. Com essa alteração, 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 estes 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.
Atualização automática da configuração sem inatividade
O Edge Microgateway carrega uma nova configuração periodicamente e executa uma atualização se algo for alterado. A pesquisa coleta todas as alterações feitas no Edge (alterações em produtos, proxies com reconhecimento de microgateway etc.), bem como alterações feitas no arquivo de configuração local. O intervalo de pesquisa padrão é de 600 segundos (cinco minutos). É possível alterar o padrão no arquivo de configuração do microgateway da seguinte maneira:
edgemicro: config_change_poll_interval: [seconds]
Informações de versão adicionadas à CLI
Uma sinalização --version
foi adicionada à CLI. Para conseguir a versão atual do Edge
Microgateway, use:
edgemicro --version
Novas opções de SSL do servidor Edge Microgateway
O Edge Microgateway agora aceita as 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 CA
do cliente no formato PFX. |
passphrase |
String com a senha longa da chave privada ou PFX. |
ca |
Caminho para um arquivo que contém uma lista de certificados confiáveis no formato PEM. |
ciphers |
String que descreve as criptografias a serem usadas, separadas por um ":". |
rejectUnauthorized |
Se verdadeiro, o certificado do servidor será verificado de acordo com a lista de CAs 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 para a versão 3. |
servername |
O nome do servidor para a extensão SNI (Indicação de nome do servidor) TLS. |
Enviar arquivos de registros 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 registros.
Versão 2.1.2
Veja a seguir os novos recursos e melhorias desta versão.
Permitir endpoint de API personalizado para configuração
Há novos endpoints configuráveis para o proxy de autorização, que são compatíveis com o uso de um serviço de autenticação personalizado. Esses endpoints são:
edgeconfig:verify_api_key_url
edgeconfig:products
Para saber mais, consulte Como usar um serviço de autenticação personalizado.
Versão 2.1.1
Veja a seguir os novos recursos e melhorias desta versão.
Implantar proxy de autenticação compatível com várias plataformas
Fizemos uma melhoria 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 v.21.0
Confira a seguir os novos recursos e melhorias:
Especificar as opções de SSL/TLS do cliente
É possível especificar opções de cliente para conexões SSL/TSL para 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, é necessário usar:
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 "start" permite especificar um número de porta para substituir a especificada no arquivo de configuração. Também é possível especificar um número de porta usando a variável de ambiente PORT. Consulte o comando "start" para ver mais detalhes.
Como opção, preserve os 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 verdadeiro, o cabeçalho Auth é 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 lidar com a autenticação, altere o valor authUri no arquivo de configuração do Edge Microgateway para apontar para seu serviço. Para mais 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
Veja a seguir os novos recursos e 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 saber como criar produtos e configurar caminhos de recursos, consulte Criar produtos de API.
Suporte para instalação global do npm
Agora é possível instalar o Edge Microgateway usando a opção npm -g (global). Para detalhes 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
Veja a seguir os novos recursos e 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 Edge Microgateway, 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 recebem namespaces usando organização e ambiente para que várias instâncias do Microgateway possam ser executadas no mesmo host. É possível encontrar os arquivos de configuração 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 precisará especificar os valores delas ao usar a interface de linha de comando (CLI) para configurar e iniciar o Edge Microgateway.
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 de cluster. O modo de cluster permite que você aproveite os sistemas com vários núcleos. O 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 v2.0.0
O ciclo de vida do evento do plug-in agora lida corretamente com o código assíncrono que contém o código com um novo callback.
Versão 1.1.2
O Edge Microgateway v. 1.1.2 foi lançado em 14 de março de 2016.
Novos recursos e melhorias v.1.1.2
Veja a seguir os novos recursos e melhorias desta versão.
Melhoria de desempenho
Agora o Edge Microgateway usa o agente HTTP do Node.js corretamente para melhorar o pool de conexões. Essa melhoria melhora o desempenho e a estabilidade geral em cargas de trabalho altas.
Suporte ao depurador remoto
É possível configurar o Edge Microgateway para ser executado com um depurador remoto, como o node-Inspector.
Novo local do arquivo de configuração
Quando você configura o Edge Microgateway, o arquivo agent/config/default.yaml
agora é
copiado para o ~./edgemicro/config.yaml
.
Rotação de arquivo de registros
Um novo atributo de configuração permite especificar um intervalo de rotação para registros do Edge Microgateway.
Bugs corrigidos v1.1.2
Os seguintes bugs foram corrigidos na versão 1.1.2.
Descrição |
---|
A chamada do Java para o proxy Edgemicro-internal usado com o Edge no local agora usa o servidor MGMT correto. |
Remover as dependências de typescript do agente. |
Correção do bug da CLI ao usar a opção de implantação enxuta. |
Correção da referência de dependência da lógica do certificado. |