Notas de lançamento do Edge Microgateway

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Versão 3.3.x

Correções de bugs e melhorias v.3.3.x

3.3.3

Em 25 de abril de 2024, lançamos as seguintes correções e melhorias no Edge. Microgateway

Versões dos componentes:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.3.3. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) core config plug-ins edgeauth (em inglês)
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 do cliente do Eureka foi removido do Edge Microgateway. A remoção deste não afeta a funcionalidade principal do Edge Microgateway nem reescreve os URLs de destino. Para mais detalhes, consulte Como reescrever URLs de destino em plug-ins.

283947053 Removido

O suporte para forever-monitor foi removido do Edge Microgateway. Você pode substituir forever-monitor por PM2. Para mais detalhes, acesse esta página da Apigee Postagem na Comunidade: Edgemicro + PM2: Starting Edgemicro como serviço.

Problemas de segurança corrigidos

  • 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 no Edge. Microgateway

Versões dos componentes:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.3.2. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 compatíveis do Node.js incluem: 16, 18 e 20. A partir da versão 3.3.2, os comandos da CLI do Edge Microgateway só funcionarão nas versões compatíveis. Executando Os comandos da CLI em versões não compatíveis resultarão 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 retornar 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 vamos criar o arquivo imagem com a versão 18.17-buster-slim.

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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.3.1. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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

Compatibilidade com o Node.js versão 16.

231972608 Bug

Foi corrigido um problema em que o private configure gerou um erro ao tentar configurar uma nuvem privada.

233315475 Bug

Foi corrigido um problema em que o plug-in json2xml gerava um erro de análise durante a transformação a resposta de JSON para XML e quando usado em combinação com o plug-in accumulate-response.

221432797 Mudança

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 token SAML no comando revokekeys.

Agora é possível transmitir um token SAML em vez das credenciais de nome de usuário e senha usando a opção -t no comando revokekeys.

Para mais detalhes, consulte a Referência da linha de comando.

218723889 Atualização de documentos

A documentação foi atualizada para incluir um link para o Edge Microgateway aceito plug-ins armazenados no GitHub. Consulte Plug-ins atuais 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. Como criar um novo arquivo ZIP com nomes de arquivos definido para valores de protótipos 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 no Edge. Microgateway

Versões dos componentes:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.3.0. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 npm audit fix faz com que apigeetool seja atualizado para 0.15.2, o que afeta o comando edgemicro upgradeauth.

Se você executar npm audit fix e depois edgemicro upgradeauth, você verá este erro:

Error: This method has been removed in JSZip 3.0, please check the upgrade guide.

Para corrigir o problema, execute o seguinte para restaurar a versão correta de apigeetool:

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 cota, isHTTPStatusTooManyRequestEnabled, configura o plug-in para retornar um status de resposta HTTP 429 em vez do status 403 se que haja uma violação de cota. Consulte Opções de configuração de cotas.

192534424 Bug

Foi corrigido um problema em que o código de resposta nas análises da Apigee não correspondia o 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 enquete e também a atualiza 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 se a chave pública de um IdP fosse alterada.
168713541 Bug

A documentação foi aprimorada para explicar como configurar 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 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 o Edge Microgateway. Consulte Como fazer upgrade do Edge Microgateway se tiver uma conexão de Internet.

215748427 Bug Correção de um problema em que o comando resellerkeys retornava um erro durante a revogação uma chave usando um par de chave e secret atual.
205524197 Bug A documentação foi atualizada para incluir a lista completa de níveis de registro. Consulte atributos deedgemicro 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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.2.3. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 disableStrictLogFile permite relaxar permissões de arquivo estritas no arquivo de registro do aplicativo api-log.log. Para detalhes, consulte Como relaxar as permissões do arquivo de registros.

192799989 Recurso

O atributo de configuração on_target_response_abort permite controlar como o Edge Microgateway se comporta se a conexão entre o cliente (Edge Microgateway) e o servidor de destino fecha prematuramente. Para mais detalhes, consulte atributosedgemicro.

148062415 Bug Foi corrigido um problema em que, em um contexto de contêiner do Docker, o Edge Microgateway não era encerrado 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 que fazia com que algumas solicitações ficassem travadas durante a atividade de recarga interna do microgateway. Esse problema era intermitente e ocorria em situações de tráfego intenso. O problema ocorreu quando os recursos tokenCache e cacheKey do O plug-in OAuth foi usado.
183910111 Bug Foi corrigido um problema em que um URL de caminho de recurso com uma barra no final estava incorreta interpretado como um caminho de recurso separado. Por exemplo, os caminhos /country/all e /country/all/ são interpretados como iguais caminho.

Problemas de segurança corrigidos

ID do problema Descrição
CVE-2020-28503 As propriedades de cópia de pacotes anteriores à versão 2.0.5 estão vulneráveis à poluição de protótipos pela funcionalidade principal.
CVE-2021-23343 Todas as versões da análise de caminho do pacote são vulneráveis à negação de expressão regular de Service (ReDoS) pelas expressões regulares splitDeviceRe, splitTailRe e splitPathRe. O ReDoS exibe complexidade de tempo do pior caso polinomial.

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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.2.2. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 Mudança

Valor expires_in alterado de string para número inteiro

As APIs de solicitação de token e de solicitação de token de atualização agora retornam expires_in como um valor inteiro especificado em segundos.

Para cumprir com RFC 6749: o framework de autorização do OAuth 2.0 (em inglês) o valor esperado do parâmetro de configuração expires_in foi alterado de string para número inteiro. Para detalhes, consulte Referência de operação e configuração.

188492065 Mudança Fim do suporte ao Node.js 8

O Node.js 8 não será mais compatível a partir da versão 3.2.2. Para mais informações, consulte Suporte e versões compatíveis: Edge Microgateway.

183990345 Recurso Configure a saída de registro do contêiner do Docker

Parâmetro de configuração do Edge Microgateway to_console permite que você envie as informações de registro para a saída padrão em vez de para um arquivo de registro. Se você seguir as etapas para executar o Edge Microgateway em um contêiner do Docker, por padrão, o contêiner redirecionará a stdout e a saída do erro para um arquivo localizado no contêiner no local: ${APIGEE_ROOT}/logs/edgemicro.log.

Para evitar que informações de registro sejam enviadas para edgemicro.log, use a nova variável LOG_CONSOLE_OUTPUT_TO_FILE ao executar o contêiner.

Para detalhes sobre como usar essa nova variável, consulte Como usar o Docker para o Edge Microgateway.

183057665 Recurso Tornar os caminhos de arquivo edgemicro.pid e edgemicro.sock configuráveis.

Um novo parâmetro -w, --workdir para executar um contêiner do Docker com O Edge Microgateway permite especificar o caminho para o diretório em que Os arquivos edgemicro.sock e edgemicro.pid precisam ser criados em um contêiner do Docker. Consulte Como usar o Docker para o Edge Microgateway.

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 Node.js mixme, antes da v0.5.1, um invasor pode adicionar ou alterar as propriedades de um objeto via '__proto__' por meio das funções mutate() e merge(). Os poluídos 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é a versão 10.1.13 para Node.js, há alguns RSAs PKCS#1 inválidos as assinaturas v1.5 são reconhecidas por engano como válidas. OBSERVAÇÃO: não há nome um ataque prático.
CVE-2021-23358 O pacote sublinhado de 1.13.0-0 e antes de 1.13.0-2, de 1.3.2 e anteriores 1.12.1 são vulneráveis à injeção de código arbitrário pela função de modelo, especialmente quando uma propriedade de variável é passada como argumento por não estar limpa.
CVE-2021-29469 O Node-redis é um cliente Redis do Node.js. Antes da versão 3.1.1, quando um cliente de monitoramento, o início do regex usado para mensagens de monitoramento detectadas pode causar retrocesso exponencial em algumas strings. Esse problema pode levar à negação serviço. O problema foi corrigido na versão 3.1.1.
CVE-2020-8174 A imagem 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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.2.1. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 chaves JWK com valor nulo fazia com que os aplicativos falhassem.

A condição nula agora é processada para evitar a transmissão de um valor nulo em jwkPublicKeys.

Observação: para corrigir o problema, é 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 proxy erros para proxies edgemicro_*.

Para transações do Edge Microgateway, contagens incorretas de erros de destino foram mostradas em o painel de análise do código de erro do Apigee Edge. Códigos de erros de destino eram contados como erros de proxy. Esse problema foi corrigido, e a meta foi corrigida as contagens de erros são exibidas.

179674670 Recurso Um novo recurso foi adicionado para que você filtre 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 allowProductStatus foi adicionada à política Definir variáveis JWT no edgemicro-auth. Para usar esta propriedade para filtrar os produtos de API listados no JWT:

  1. Abra o proxy edgemicro-auth no editor de proxy da Apigee.
  2. Adicione a propriedade allowProductStatus ao XML da política SetJWTVariables e especifique um lista separada por vírgulas de códigos de status para filtrar. Por exemplo, para filtrar por Pendente e Revogado:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript timeLimit="20000" async="false" continueOnError="false"
        enabled="true" name="Set-JWT-Variables">
        <DisplayName>Set JWT Variables</DisplayName>
        <FaultRules/>
        <Properties>
            <Property name="allowProductStatus">Pending,Revoked</Property>
        </Properties>
        <ResourceURL>jsc://set-jwt-variables.js</ResourceURL>
    </Javascript>
    
    

    Se você quiser que somente os produtos Aprovados sejam listados, defina a propriedade da seguinte forma:

    <Property name="allowProductStatus">Approved</Property>
  3. Salve o proxy.

    Se a tag Property não estiver presente, os produtos com todos os códigos de status serão listados no JWT.

    Para usar essa nova propriedade, é necessário fazer upgrade do proxy edgemicro-auth.

178423436 Bug Os valores de chave e secret transmitidos na CLI ou por variáveis de ambiente são visíveis argumentos de linha de comando do explorador de processos.

Foi relatado um problema com os valores de chave e secret do Edge Microgateway que foram passados de argumentos de linha de comando ou definidos por variáveis de ambiente foram exibido nos argumentos dos processos de trabalho do nó/filho após o início da microgateway.

Para corrigir esse problema no cenário da variável de ambiente, os valores não ficam mais visíveis nos argumentos da linha de comando do explorador de processos.

Se os valores de chave e secret forem passados na linha de comando ao iniciar o microgateway, as configurações substituem todos os valores de variáveis de ambiente, se definidos. Nesse caso, os valores ainda são visível nos argumentos da linha de comando do explorador de processos.

178341593 Bug Um erro de documentação para o plug-in apikeys foi corrigido.

O arquivo README para apikeys o plug-in incluiu incorretamente um gracePeriod . Removemos essa propriedade e a descrição dela do README.

A propriedade gracePeriod é implementada no plug-in oauth. Para usar o recurso de período de carência, use o plug-in oauth.

179366445 Bug Um problema foi resolvido em que o payload era descartado em todas as solicitações GET aos destinos.

É possível controlar o comportamento desejado com um novo parâmetro de configuração, edgemicro: enable_GET_req_body. Quando definido como true, o cabeçalho da solicitação transfer-encoding: chunked é adicionado a todas as solicitações GET e um payload GET, se presente, é enviado ao destino. Se false (padrão), o payload é removido silenciosamente antes que a solicitação seja enviados ao destino.

Exemplo:

edgemicro:
 enable_GET_req_body: true

De acordo com RFC 7231, seção 4.3.1: GET, um payload de solicitação GET não tem semântica definida, para que possam ser enviados ao 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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.2.0. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 como contêm a client_id em o objeto de solicitação quando o token for válido. O x-api-key fica disponível para plug-ins futuros.
168836123, 172295489, 176462355 e 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 /token no edgemicro-auth proxy retornou expires_in em milissegundos. No entanto, de acordo com OAuth especificação, ela precisa ser consistente com a unidade de tempo de refresh_token_expires_in, em segundos.

A correção não altera a duração do prazo de validade, apenas a unidade de tempo. Ele só se aplica ao campo expires_in no payload de resposta do token de acesso. O JWT no mesmo payload de resposta conteria dois campos, iat e exp, e foram gerados corretamente e sempre foram gerados com a unidade de tempo seconds.

Se os clientes usam o valor expires_in, em milissegundos, para dos tokens de atualização antes que eles expirem e, em seguida, aplicar essa correção sem a modificação dos clientes resultaria em atualizações muito mais frequentes e desnecessárias. Esses clientes precisarão ser modificados para considerar a mudança da unidade de tempo para manter o comportamento original.

Se os clientes sempre usaram os valores no token JWT para avaliar o token período de atualização, os clientes não precisarão fazer alterações.

173064680 Bug Foi corrigido um problema em que o microgateway encerrava a solicitação de destino antes do processamento de todos os blocos de dados.

Esta é uma um problema intermitente observado em solicitações de tamanho de payload alto e o problema foi introduzido na versão 3.1.7.

174640712 Bug Adicione o tratamento adequado de dados aos plug-ins.

O processamento de dados adequado foi adicionado aos seguintes plug-ins: json2xml, accumulate-request, accumulate-response e header-uppercase. Para plug-in detalhes, consulte microgateway-plugins.

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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.1.8. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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.

A substituição da variável de ambiente processa todos os valores analisados como strings, o que resultou na análise de erros para valores booleanos ou numéricos e a distribuição dos valores dos dados. Por exemplo, edgemicro.port espera e exige um valor numérico. Correções foram feitas para são compatíveis com valores booleanos e numéricos. Consulte Como definir atributos de configuração com o valores da variável de ambiente para detalhes de configuração.

169202749 Bug A substituição da variável de ambiente não funcionava em alguns casos.

O tratamento da substituição de variável de ambiente não estava funcionando para algumas configurações atributos. Consulte Como definir atributos de configuração com o valores de variáveis de ambiente para informações sobre limitações.

168732942 Bug Foi corrigido um problema em que os escopos OAuth não restringiam o acesso ao proxy de API da forma esperada.

O fluxo /token no proxy edgemicro-auth gerou JWTs sem o escopos corretos do produto definidos no Edge como resultado de dois cenários diferentes: 1) o payload da solicitação para o fluxo /token não transmitiu um parâmetro de escopo ou 2) um um escopo inválido foi transmitido no payload da solicitação para o fluxo /token. Uma correção foi feita para retornar todos os escopos definidos nos produtos de API no Apigee Edge.

170609716 Bug Foi corrigido um problema em que o fluxo /refresh no edgemicro-auth proxy gerou 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 de API não foram disponibilizados para plug-ins personalizados nem foram gravados ao arquivo de configuração de cache. Consulte Sobre a função init() do plug-in para ver como o escopo os detalhes fiquem acessíveis aos plug-ins.

169810710 Recurso A chave e o secret salvos no arquivo de configuração de cache.

A chave e o secret do Edge Microgateway estavam sendo salvos no arquivo yaml de configuração de cache em cada recarregar/iniciar. Na versão 3.1.8, a chave e o secret não são mais salvos na configuração de cache. . Se a chave e o secret já tiverem sido gravados no arquivo de configuração de cache, eles serão removidos.

170708621 Recurso Não é possível desativar o plug-in do Google Analytics.

Nas versões anteriores do microgateway, o plug-in do Google Analytics era ativado por padrão e não havia como desativá-la. Na versão 3.1.8, um novo parâmetro de configuração, enableAnalytics, foi introduzido à ativar ou desativar o plug-in do Google Analytics. Consulte a Referência de configuração para mais detalhes.

159571119 Bug Erro nulo recebido no hook onerror_request em plug-ins personalizados para tempo limite de resposta/soquete.

Foram feitas correções para preencher a mensagem de erro e o código de status HTTP corretos para onerror_request e a mensagem de erro correta para onerror_response.

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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.1.7. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 do axpublisher chamadas e causou a saída dos workers.

133162200 Bug As informações do app do desenvolvedor não foram preenchidas no Google Analytics com o status 403 respostas causadas por caminhos de recursos de produtos não autorizados ou respostas 401 causados por um token expirado ou inválido.

132194290 Bug Os registros de análise são descartados quando o Apigee Edge rejeita algumas análises .

158618994 Bug Excesso de conexões de clientes Redis.

161404373 Bug No caso de uma resposta de status 404, o URI do proxy completo foi incluído em a mensagem de resposta.
166356972 Bug

Executar o Edge Microgateway com o Node.js versão 12.13.x ou mais recente resultou em o 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 Atualização manual do Edge Microgateway com o redisBasedConfigCache:true não estava funcionando.

149256174 Bug Erros do plug-in OAuth não foram registrados para a rede de segurança.

166517190 Bug Os dados de jwk_public_keys não foram armazenados e buscados pelo sincronizador e armazenados no Redis.

141659881 Bug Tratamento de erros de certificado de destino inválido mostrou respostas de erro enganosas.

142808699 Bug O plug-in accesscontrol não estava processando a opção "permitir" e "deny" seções corretamente.

O microgateway agora processa a seção de negação adequadamente e respeita a ordem das "permitir" e "deny" em outras seções. Uma nova propriedade do noRuleMatchAction foi adicionada ao arquivo de configuração do microgateway para fornecer paridade com o AccessControl do Apigee Edge política. Consulte também README do plug-in de controle de acesso (link em inglês) no GitHub.

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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.1.6. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 de local de arquivo de certificado e chave personalizada para o comando "girokey".

Para detalhes sobre essas novas opções de comando, consulte Alternar chaves.

154838259 Bug Corrigir a rotação de chaves para 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 a Novas métricas de plug-in (em inglês) no README no GitHub para mais detalhes.

159396879 Bug Remover o 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 do caminho de base do proxy era incorreta quando o não termina com /.

Veja a seguir uma explicação mais detalhada sobre o comportamento anterior (corrigido na versão 3.1.6):

Suponha que um proxy esteja configurado com o caminho de base: /hello/v1 e um caminho de destino para https://mocktarget.apigee.net. Agora, suponha que o proxy recebe as seguintes solicitações:

Caminho da solicitação Caminho resolvido Resultado
/hello/v1/json https://mocktarget.apigee.net/json O caminho resolvido está correto, porque o caminho de base de /hello/v1 é feita a correspondência correta.
Caminho da solicitação Caminho resolvido Resultado
/hello/v1json (link em inglês) https://mocktarget.apigee.netjson O caminho resolvido está incorreto porque /hello/v1 é uma substring de /hello/v1json. Como /hello/v1json não é um caminho, o Edge Microgateway deve ter gerado um erro 404. Na versão 3.1.6 e mais recentes, Nesse caso, o erro 404 será gerado.
160431789 Bug Plug-ins personalizados: o objeto de configuração transmitido para o init não é preenchido

A configuração do Apigee Edge é disponibilizada no objeto de configuração para todos 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 backup 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 backup 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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.1.5. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 ignorar o processamento de plug-ins para os URLs especificados. Para obter detalhes, consulte Configurar URLs de exclusão para plug-ins.

156986819 e 158529319 Bug Problemas com o plug-in json2xml foram corrigidos

Foram corrigidos os problemas em que o plug-in produzia dados duplicados cabeçalhos de tipo de conteúdo e em que os cabeçalhos não foram enviados para o destino como esperado em em alguns casos.

156560067, 159688634 Recurso

Usar valores de variável de ambiente na configuração

Foi adicionado um recurso que permite especificar variáveis de ambiente usando tags na configuração . As tags de variável de ambiente especificadas são substituídas pelo ambiente real valores variáveis. As substituições são armazenadas apenas na memória e não no original ou armazenar arquivos em cache. Para obter detalhes, consulte Definir atributos de configuração com valores de variáveis de ambiente

155077210 (link em inglês) Bug Um problema de formatação de registro foi corrigido.

Foi corrigido um problema em que o host de destino aparecia em registros com dois pontos anexados a ele.

153673257 Bug

(Apenas no Edge para nuvem privada) Produtos com reconhecimento de microgateway não extraídos

Corrigimos um problema em que os produtos com reconhecimento de microgateway não estavam sendo extraídos. Este problema no Edge, apenas para instalações de nuvem privada.

154956890, 155008028 e 155829434 Recurso Suporte à 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 que fazia o processo do Edge Microgateway falhar quando o arquivo de destino de registro estava cheio

O tratamento de exceções foi aprimorado para capturar o erro e imprimir uma mensagem no console.

155499600 Bug Problemas com a rotação de chaves e o 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:

Um problema de dependência na versão 3.1.3 foi corrigido. A versão 3.1.3 foi marcada como descontinuado no repositório npm. Caso contrário, todas As correções de bugs e as melhorias descritas na nota da versão 3.1.3 aplicam-se a esta versão.

3.1.3

Na quarta-feira, 15 de abril de 2020, lançamos as seguintes correções e melhorias para o Edge Microgateway

Versões dos componentes:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.1.3. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 causa vazamentos de memória. O problema ocorre nas versões v3.1.0, v3.1.1 e 3.1.2.
  • 153509313 – Foi corrigido um problema em que o mesmo ID de mensagem era usado em duas transações diferentes foi impressa na saída de registro.
  • 151673570 - Foi corrigido um problema em que o Edge Microgateway não era atualizado para usar os novos APIs Apigee KVM. O Edge Microgateway agora usa os novos comandos para adicionar e atualizar a KVM.
  • 152822846 - Em versões anteriores, o Edge Microgateway foi atualizado para que seu processamento de mapeamento de caminho de recursos corresponde ao do Apigee Edge. Nesta versão, um problema foi corrigido em que o padrão /literal_string/* não foi 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 permitir identificadores no escopo da organização e do ambiente para cotas.
  • 152005003 - Foram feitas alterações para permitir identificadores no escopo da organização e do ambiente para cotas. A combinação de "org + env + appName + productName" é usado como a cota identificador.

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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.1.3. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 - Um aprimoramento de recurso foi feito para adicionar suporte ao proxy HTTP para tráfego entre o Edge Microgateway e os destinos de back-end. Além disso, foram corrigidos os problemas de APIs suporte de proxy entre o Edge Microgateway e o Apigee Edge. Confira mais detalhes em:
  • 149101890: o código de notificação de registro para casos em que o servidor de destino ou balanceador de carga fecha sua conexão foi alterada de ERROR para INFO.
  • 150746985: um problema foi corrigido onde o comando edgemicro verify não funcionará corretamente se redisBasedConfigCache: true ou quotaUri: https://%s-%s.apigee.net/edgemicro-auth estavam presentes no arquivo de configuração.
  • 151284716 - Foi feita uma melhoria para fechar as conexões com o servidor mais rapidamente quando os workers são reiniciados durante uma recarga.
  • 151588764 - Atualize a versão do Node.js na imagem do Docker usada para executar o Edge Microgateway em um contêiner do Docker para 12, porque o Node.js v8 está obsoleto.
  • 151306049 - Foi feita uma atualização na documentação para listar o gerenciamento do Apigee Edge APIs que são 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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.1.1. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 ambiente HTTP_PROXY e HTTPS_PROXY. Com essa mudança, as definições de proxy no arquivo de configuração YAML, se especificadas, agora são ignorado; apenas as variáveis de ambiente são usadas para especificar o proxy.

    Para especificar a configuração de proxy no arquivo de configuração, também é necessário especifique uma variável HTTP_PROXY que mencione o mesmo URL de proxy que o especificado em o 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: um novo parâmetro de configuração, edgemicro.headers_timeout, foi adicionados. Esse atributo limita o tempo (em milissegundos) que o analisador HTTP aguardará para receber cabeçalhos HTTP completos. Exemplo:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    Internamente, o parâmetro define o Node.js Server.headersTimeout nas solicitações. (Padrão: 5 segundos a mais que o horário definido com edgemicro.keep_alive_timeout. O padrão impede que balanceadores de carga ou proxies descarreguem erroneamente a conexão.)

  • 149278885 - Foi adicionado um novo recurso que permite definir o tempo limite da API de destino no Nível de proxy da API em vez de usar uma configuração de tempo limite global.

    Se você definir a propriedade TargetEndpoint io.timeout.millis no proxy de API, o Edge Microgateway poderá recuperar essa propriedade e aplicar de tempo limite específico do endpoint. Se esse parâmetro não for aplicado, o Edge Microgateway usará o tempo limite global especificado com edgemicro.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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.1.0. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 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 "cota aplicável" solicitação para O Edge não atualiza os contadores de cotas remotas. Nesse caso, a cota será processada com base em contagens locais somente até a próxima sincronização remota de cota bem-sucedida acontecer. Antes, evento só foi registrado quando o nível de registro foi 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 que afetava novas transações ou transações em andamento sempre que o Edge Microgateway detectar uma alteração em um proxy de API. Quando uma alteração é feita em um proxy, O Edge Microgateway atualiza o cache e a reinicialização dos nós de trabalho. Com essa mudança, as transações em andamento e as novas chamadas de API enviadas para o microgateway não serão afetadas.
  • 146378327: o nível de registro de sourceRequest, targetRequest, e targetResponse foram alterados para o nível INFO.
  • 146019878 - Discrepância entre a latência calculada para "Desempenho do proxy da API" na análise do Edge e os eventos de registro sourceResponse/targetResponse do Edge Microgateway foram corrigidos. Agora a latência da análise do Edge e dos 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 ao seguinte caminho de recurso padrões de correspondência especificados 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ões do Apigee Edge, conforme explicado em Configuração do comportamento de um recurso caminho de "/", '/*' e '/**'.

    • 145644205 - Atualização da lógica de correspondência de padrões do plug-in apiKeys para corresponder ao plug-in oauth.
  • 143488312 - Foi corrigido um problema em que espaços à esquerda ou à direita no ID do cliente fez com que a criação da lista de produtos JWT fique vazia para o token OAuth e solicitações de chave de API.
  • 145640807 e 147579179 - Um novo atributo foi adicionado que permite um Edge Microgateway especial chamado "sincronizador" para recuperar dados de configuração do Apigee Edge e gravá-los para um banco de dados local do Redis. Outras instâncias de microgateway podem ser configuradas para ler de configuração 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 a necessidade de comunicação com Apigee Edge. Para mais detalhes, consulte Como usar o sincronizador.

    Atualmente, o recurso sincronizador funciona 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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.0.10. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 - Uma atualização de recurso foi feita para que o padrão de correspondência dos caminhos de recursos usada em produtos de API para o Edge Microgateway agora se alinha com a correspondência de padrão de caminho de recurso 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/**, precisa garantir que o proxy edgemicro_auth seja adicionado a um independente de produto de API. Em seguida, inclua esse produto no app para desenvolvedores do proxy. conforme ilustrado na captura de tela a seguir:

    alt_text

    Observação: a propriedade de configuração features.isSingleForwardSlashBlockingEnabled, conforme descrito em Não há suporte para a configuração do comportamento de um caminho de recurso de "/", "/*" e '/**' para o Edge Microgateway.

  • 143740696 - A estrutura de configuração do quotas mudou (veja também notas da versão 3.0.9). O quotas é 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. Observe que o propriedade de configuração é chamada quotas. Para detalhes sobre a configuração individual do quotas propriedades, consulte Opções de configuração para cotas.

    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 cota loja de apoio. Se useRedis for verdadeiro, volos-quota-redis usado. Quando definido como verdadeiro, a cota é restrita apenas às instâncias do Edge Microgateway que conectar-se ao Redis. Se for falso, o volos-quota-apigee é usado como armazenamento de apoio, e o contador de cota é global. Para mais detalhes, consulte Opções de configuração para cotas. Exemplo:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
  • 140574210: o prazo de validade padrão para tokens gerados pelo edgemicro-auth foi alterado de 108.000 milissegundos (1,8 minuto) para 1800 segundos (30 minutos).
  • 143551282: para oferecer suporte a organizações com SAML ativada, o comando edgemicro genkeys foi atualizado para incluir um parâmetro ‑‑token. Esse parâmetro permite usar uma Token OAuth para autenticação, em vez de nome de usuário/senha. Para obter detalhes, consulte geração de 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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.0.9. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 - Uma nova falha ao abrir foi adicionado ao plug-in de cotas. Quando este recurso estiver ativado, se ocorrer um erro de processamento de cota ou se a "cota" for aplicada solicitação para o Edge não atualizar os contadores de cota remota, a cota será processado com base nas contagens locais somente até a próxima cota remota bem-sucedida a sincronização ocorrer. Em ambos os casos, uma sinalização quota-failed-open é definida em o objeto da solicitação.

    Para ativar a cota, "fail open" defina a seguinte configuração:

    quotas :
     failOpen : true

    Observação: além disso, o nome da sinalização de objeto de solicitação fail-open do plug-in OAuth foi alterado para oauth-failed-open.

  • 142093764: uma mudança de configuração foi feita no proxy edgemicro-auth para evitar que a cota seja excedida. A mudança é definir o tipo de cota como agenda. Para usar essa melhoria, você precisa atualizar edgemicro-auth para a versão 3.0.7 ou mais recente.
  • 142520568 - Um novo recurso foi adicionado para permitir o registro do MP ID (processador da mensagem) nas respostas de cotas. Para usar esse recurso, você precisa atualizar seu proxy edgemicro-auth para a versão 3.0.7 ou superior e defina a seguinte configuração:
    quotas:
      useDebugMpId: true

    Quando useDebugMpId estiver definido, as respostas de cota do Edge conterão o ID do MP e serão registrados 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:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.0.8. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 - Uma nova falha ao abrir recurso foi adicionado. Esse recurso permite que o processamento da API continue se não é possível atualizar um token JWT expirado 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 em cache e reutilizado até que o período de carência expire. O recurso permite que o Edge Microgateway para continuar processando solicitações em caso de falha temporária na conexão. Quando é retomada e ocorre uma chamada de verificação da chave de API bem-sucedida, um novo JWT é buscado e substitui o JWT antigo no cache.

    Para configurar a nova "falha ao abrir" faça o seguinte:

    1. Defina as propriedades a seguir na estrofe oauth do Edge Microgateway de configuração do Terraform:
      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 for possível atualizá-lo devido a um problema de conectividade. Após cinco segundos, um erro de autenticação será retornado.

  • 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 alguns registros foram alterados para error, conforme necessário.
  • 140193349: uma atualização foi feita no proxy edgemicro-auth para exigir o Edge Microgateway e o secret sejam verificados em todas as solicitações de verificação de chave de API. O Edge Microgateway foi atualizado para sempre enviar a chave e o segredo em todas as solicitações de verificação de chave de API. Essa mudança impede que os clientes obtenham um JWT com apenas uma chave de API.
  • 140090250 - Foi feita uma atualização na adição de log de diagnóstico para processamento de cotas. Com este mudança, agora é possível correlacionar a saída do registro de quoto com o restante do Edge Microgateway ou de sistemas operacionais de contêineres.

3.0.7

Na quinta-feira, 12 de setembro, lançamos as seguintes correções e melhorias no Edge Microgateway

Versões dos componentes:

A tabela a seguir lista os números de versão dos projetos de componentes individuais associadas com o Edge Microgateway 3.0.7. Observe que, como cada componente é um projeto separado, os números de versão podem não corresponder à versão principal do produto:

microgateway (link em inglês) 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 em que apropriados. Antes, o plug-in retornava apenas códigos de status 4xx em todas além de 200 casos. Agora, para qualquer resposta de mensagem que não tenha um status 200, o O código 4xx ou 5xx vai ser retornado, dependendo do erro.

    Esse recurso fica desativado por padrão. Para ativar esse recurso, adicione o oauth.useUpstreamResponse: true para a 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 edgemicro-auth que é implantado na sua organização. Se esta propriedade não for definida, o endpoint da cota o padrão é 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 do Terraform. Para usar a propriedade quotaUri, é necessário fazer upgrade para a proxy edgemicro-auth mais recente. Para obter detalhes, consulte Como fazer upgrade do Edgemicro-auth proxy.

  • 140470888: um cabeçalho de autorização foi adicionado a chamadas de cota para fins de autenticação. Além disso, o proxy edgemicro-auth foi modificado para remover "organização" do identificador de cota. Como o endpoint de cota fica organização do cliente, o identificador de cota não é mais necessário.
  • 140823165 – O nome da propriedade a seguir:
    edgemicro:
        keepAliveTimeout

    foi documentada 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 cotas incorreta ocorria quando um aplicativo de desenvolvedor 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" é usado como identificador de cota.

3.0.6

Na quinta-feira, 29 de agosto, lançamos as seguintes correções e melhorias no Edge Microgateway

  • 138633700: uma nova propriedade de configuração foi adicionada, keepAliveTimeout. Essa propriedade permite que você defina o tempo limite do Edge Microgateway (em milissegundos). (Padrão: 5.000 milissegundos)

    Exemplo:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623: uma nova propriedade de configuração foi adicionada, quotaUri. Definir esta configuração propriedade se quiser gerenciar cotas pelo proxy edgemicro-auth que está implantados na organização. Se a propriedade não for definida, o endpoint de cota usa como padrão o endpoint interno do Edge Microgateway. Exemplo:
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    Para usar esse recurso, é necessário primeiro implantar a versão mais recente do edgemicro-auth proxy para sua organização. Para mais detalhes, consulte Atualização do proxy Edgemicro-auth.

  • 138722809: uma nova propriedade de configuração foi adicionada, stack_trace. Esta propriedade você controla se os stack traces não aparecem nos arquivos de registro. Exemplo:
    stack_trace: false

    Se stack_trace for definido como true, o stack trace vai ser impressas em registros. Se ele estiver definido como false, a pilha rastros não serão mostrados 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 retornou o número certo de processos de worker.
  • 138437710 – Um problema foi corrigido na classe OutCounter que impedia a execução seja gravado.
. Melhorias gerais nas mensagens de registro
  • 139064652 - Capacidade adicionada para adicionar níveis de geração de registros trace e debug para o evento e registros do sistema. Por enquanto, só é possível adicionar esses níveis de registro. Atualmente, os níveis de registro disponíveis são info, warn e error.
  • 139064616 - A saída do registro foi padronizada para todos os log statements do console. Console instruções de geração de registros agora incluem estes atributos:
    • Carimbo de data/hora
    • Nome do componente
    • ID do processo
    • Mensagem de registro do console
    .
. Melhorias na chave JWT e na mensagem de registro secreto
  • 138413755 - Melhoria das mensagens de registro da chave JWT e do secret para essas CLI comandos: cert, verify, upgradekvm, token, genkeys, resellerkeys, backupkey e configure.
. Melhorias nas mensagens de erro de tempo limite e conexão recusada
  • 138413577 - Adição e melhoria do tratamento de erros para tempos limite do serviço de back-end.
  • 138413303 - Adicione e melhore o tratamento de erros para tempos limite de resposta e de soquete.
  • 138414116 - Adicionar e melhorar o tratamento de erros para "conexão recusada" erros.

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 - Foi corrigido um problema em que processos indesejados eram iniciados. Os processos extras fez com que os plug-ins fossem recarregados e usassem memória excessiva. Agora o Edge Microgateway 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).
    • Adicionamos mais mensagens de registro quando necessário.
    • As mensagens de registro de transações (solicitação) foram movidas da saída do console para as mensagens relevantes do arquivo de registros.
    • Atualização dos registros do console para usar uma função de geração de registros centralizada.
  • 138321133, 138320563 - Alteração 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 eventLog(), que captura e registra dados do ambiente de execução de forma 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ções).
    • Nome do host: o nome do host solicitante do cabeçalho da solicitação.
    • ID do processo: se você está executando um cluster de processos do Node.js, esse é o ID do o 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 atualmente).
    • 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 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, [].

    Confira no exemplo a seguir o formato do registro:

    Timestamp [level][hostname][ProcessId][Org][Environment][APIProxy][ClientIp][ClientId][][component][customMessage][reqMethod][respStatusCode][errMessage][errCode][timeTaken]

    (137770055)

  • Performance: os produtos de API não estavam sendo filtrados com base no ambiente. Este 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 para o Edge Microgateway

Qualidade do código: a qualidade do código foi revisada, e as alterações foram feitas nele atendem aos padrões de qualidade exigidos pelos usuários. Resolvemos os erros e avisos de qualidade do código derivado de JSHint. Alguns erros reais de código foram identificados e reparados como resultado. Todos os Apigee Edge Microgateway módulos foram submetidos a esse processo. Veja os compromissos de 28 de junho e 2 de julho para microgateway-config, microgateway-core, microgateway-plugins e microgateway. Todos os módulos com alterações na qualidade do código foram testados com ferramentas internas que verificam a 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 - Alterar as versões do Node.js compatíveis com o Edge Microgateway
    Versões compatíveis com o Node.js: 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 para o Edge Microgateway retornará 5XX se o padrão de filtro for incorreto
  • 135113408 - Os workers devem ser reiniciados se forem encerrados inesperadamente
  • 134945852 - tokenCacheSize não é usado no plug-in OAuth
  • 134947757 - definir cacheTTL no plug-in do OAuth
  • 135445171 - O cálculo do período de carência no OAuth não está correto
  • Usar o módulo de memória 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 em 2.5.38, 07/06/2019)

JWTs formatados incorretamente podem causar falhas nos workers ao usar o cache de token. Fixo na borda microgateway-plugins. (b/134672029).

(Adição da versão 2.5.37) Adicionar a opção da CLI edgemicro-cert -t.

A opção edgemicro cert -t permite especificar um token OAuth para e autenticar as APIs de gerenciamento. Consulte também Gerenciar certificados.

(Adicionado na versão 2.5.35) Foi adicionado 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.

(Adição da versão 2.5.35) Ativar um build do Windows para edgemicroctl.

(Adição da versão 2.5.31) Nova API Edgemicro-auth/token

Foi adicionada uma nova API Edgemicro-auth/token que permite passar o cliente/secret como um Código Base64 Cabeçalho de autorização básica e Grants_type como parâmetro de formulário. Consulte Como receber tokens do portador diretamente.

(Corrigido 2.5.31) A configuração particular não respeita a flag de token

Foi corrigido um problema que impedia a configuração do Edge Microgateway para usar um token de acesso OAuth2 no Edge para A nuvem privada não funcionou corretamente (o token não foi respeitado).

Docker: suporte ao uso de certificados autoassinados (em inglês)

(Adicionado na versão 2.5.29) Se você estiver usando uma autoridade de certificação (CA) que não seja confiável por padrão Node.js, é possível usar o parâmetro NODE_EXTRA_CA_CERTS ao executar um contêiner do Docker com o Edge Microgateway. Para detalhes, consulte Como usar uma AC não confiável para o Node.js.

Docker: suporte para 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 para o servidor Edge Microgateway (solicitações no sentido norte) e para solicitações enviadas do Edge Microgateway para para um aplicativo de destino (solicitações direcionadas ao sul).

Os exemplos a seguir explicam em detalhes como definir essas configurações de TLS:

Nestes exemplos, você vai aprender a usar o ponto de montagem /opt/apigee/.edgemicro do contêiner para carregar os certificados, que serão citados no arquivo de configuração do Edge Microgateway.

Docker: suporte para proxy de solicitação (em inglês)

(Adicionado na versão 2.5.27) Se você executar o Edge Microgateway em um contêiner do Docker, poderá usar essas opções para controlar o proxy comportamento quando o microgateway está sendo executado atrás de um firewall:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

Veja mais detalhes em Executar o Edge Micro como um contêiner do Docker.

Docker: instruções atualizadas sobre o 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, usar um ponto de montagem do Docker, é nova. A outra opção já existia, não muda. mas o Dockerfile foi atualizado. Para mais detalhes, consulte os seguintes links:

.

Novo suporte ao 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 segregar APIs no Edge Analytics

(Adicionado na versão 2.5.26) As novas sinalizações de plug-in de análise permitem que você segregue um caminho de API específico para que ele apareça como um proxy separado nos painéis do Edge Analytics. Por exemplo: segregar APIs de verificação de integridade para evitar confundi-las com chamadas de API reais. Para mais informações, consulte Excluir caminhos das análises.

Como configurar um proxy local

(Adicionado 2.5.25) Com um proxy local, você não precisa criar manualmente um proxy com reconhecimento de microgateway no Apigee Edge. Em vez disso, o microgateway 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 na versão 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 independente.

Como revogar chaves

(Adicionado na versão 2.5.19) Um novo comando CLI foi adicionado que revoga as credenciais de chave e secret para 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 na versão 2.5.19) Agora é possível fazer o download da versão mais recente do Edge Microgateway como uma imagem 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 como um gateway de arquivo secundário na frente de implantados em um cluster do Kubernetes. Consulte: Integrar o Edge Microgateway com a visão geral do Kubernetes

Suporte para a opção de nodelay do TCP

(Adicionado na versão 2.5.16) Uma nova definição de configuração, nodelay, foi adicionada à configuração do Edge Micro.

Por padrão, as conexões TCP usam o protocolo Nagle algoritmo para armazenar os dados em buffer antes de enviá-los. Definindo nodelay como true, desativa esse comportamento (os dados disparam imediatamente cada vez que socket.write() é chamado). Consulte também a documentação do Node.js documentação para saber mais.

Para ativar 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 de CLI para monitoramento contínuo

(Adicionado 2.5.12) Novos parâmetros foram adicionados ao comando edgemicro forever. Esses parâmetros permitem que você especificar a localização do arquivo forever.json e permitir que você inicie ou interrompa a operação em segundo plano. Consulte também Monitoramento contínuo

ParâmetroDescrição
-f, --fileEspecifica o local do arquivo forever.json.
-a, --actionstart 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

Foi adicionado um novo recurso que permite alternar os pares de chave pública/privada 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 de Edge que começam com o prefixo de nomenclatura "edgemicro_". É possível alterar esse padrão para fazer o download de proxies cujos nomes correspondem a um padrão. Consulte Filtragem de proxies baixados

Como especificar produtos sem proxies de API

No Apigee Edge, é possível criar um produto de API que não contenha proxies de API. Essa configuração de produto permite que uma chave de API associada ao produto funcione com qualquer proxy implantado na sua organização. A partir da versão 2.5.4, o Edge Microgateway é compatível com este produto configuração do Terraform.

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 deve ser reiniciado. Este arquivo configura um serviço chamado "monitoramento permanente", que gerencia o acesso "sempre" de forma 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, talvez queira gerenciar as e configurações em um único local. Para isso, especifique um endpoint HTTP em que o Edge O Micro pode fazer o download de seu arquivo de configuração. Consulte Como especificar um endpoint do arquivo de configuração

Suporte para a opção de CLI permanente

(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 config precisa 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 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 seu sistema e o valor de "Não antes" (nbf) ou emitido em (iat) vezes especificados no token de autorização JWT. Defina este atributo como o número de segundos para permitir essas discrepâncias. Consulte Atributos 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 seu sistema e o valor de "Não antes" (nbf) ou emitido em (iat) vezes especificados no token de autorização JWT. Defina este atributo como o número de segundos para permitir essas discrepâncias. Consulte Atributos OAuth.

Bugs corrigidos na v2.5.x

  • (Problema no 236) Correção de erro de digitação ao limpar o cache.
  • (Problema 234) Recarrega falhas do Edge Microgateway 2.5.35.
  • (Problema 135) Referência de host virtual inválida "segura" ao usar o valor-chave -v. Essa correção modifica o proxy Edgemicro-auth antes da implantação para garantir que os hosts virtuais correspondam exatamente ao especificado em "-v" . Além disso, você pode especificar qualquer número e qualquer nome para o host virtual (não está mais restrito a padrão e segura).
  • Problema 141: o comando edgemicro reseller não é compatível com a opção -c do arquivo de configuração. Esse problema foi corrigido.
  • (Problema no 142) O Edge Microgateway reclama da criptografia obsoleta 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 na Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) O token JWT foi validado em relação aos proxies da API e ao URI de recurso no OAUTH. Esse problema foi corrigidos.
  • (Problema da comunidade da 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 causava a seguinte mensagem de erro foi corrigido: ReferenceError: deployProxyWithPassword não está 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 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 alterar o caminho de base padrão do proxy edgemicro-auth. Por padrão, o caminho de base é /edgemicro-auth; Para mudá-lo, use a flag -x no comando edgemicro configure.

Exemplo:

edgemicro configure -x /mypath …


2. Suporte a caracteres curinga em caminhos base (PR 77)

Você pode usar um ou mais "*" caracteres curinga no caminho base de uma edgemicro_*. Por exemplo, um caminho base de /team/*/members permite que os clientes liguem para https://[host]/team/blue/members e https://[host]/team/green/members sem precisar criar novos proxies de API para apoiar novas equipes. /**/ não é suporte.

Importante: a Apigee NÃO é compatível com o uso de um caractere curinga "*" como 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 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 no 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 foi 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 por trás de um firewall e não puder se comunicar com a Apigee 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 microgateway arquivo de configuração:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: true

Quando proxy_tunnel for true, o Edge Microgateway usará o 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 estão 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, você pode definir as seguintes variáveis para controlar os hosts de cada proxy HTTP que você quer usar ou quais hosts não devem processar proxies do Edge Microgateway: HTTP_PROXY, HTTPS_PROXY e NO_PROXY. Você pode Defina NO_PROXY como uma lista de domínios delimitados por vírgulas que o Edge Microgateway precisa ter. sem 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 destino (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 responderá com um erro 504 .

6. Respeitar as mensagens personalizadas de status HTTP 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 por Node.js. padrão.

7. O cabeçalho X-Forwarded-For pode definir o client_ip para análise de dados

Se estiver presente, o cabeçalho X-Forwarded-For definirá o client_ip, que é informada no Edge Analytics. Esse recurso permite que você saber o IP do cliente que enviou uma solicitação para o Edge Microgateway.

8. Mudanças no plug-in OAuth

O plug-in OAuth é compatível com a verificação de chave de API e de token de acesso OAuth. Antes essa mudança, o plug-in aceitava qualquer forma de segurança. Com essa mudança, só é possível permitir 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, todas as APIs deverão realizar um cabeçalho de autorização com um token de acesso do portador.

  • allowAPIKeyOnly: se definida como true, todas as APIs deverão transportar um cabeçalho x-api-key (ou um local personalizado) com uma chave de API;

Você define 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 essas mudanças, as chaves armazenadas o proxy no Edge Secure Store, um cofre criptografado. Agora, o proxy armazena chaves no mapa de chave-valor (KVM) criptografado 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. Modificar estes variáveis no código do plug-in: req.targetPort, e req.targetSecure. Para escolher HTTPS, defina req.targetSecure como true; Para HTTP, defina-o como false. Se você definir req.targetSecure como verdade, veja esta discussão tópico 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 parâmetro a seguir no objeto edgemicro configure:

-t, --token <token>

Exemplo:

edgemicro configure -o docs -e test -t <your token>

Bugs corrigidos na versão 2.4.3

  • Correção de um problema em que uma organização paga era necessária para executar corretamente o proxy Edgemicro-auth. Agora, também é possível 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 gerenciadores finais eram de qualquer maneira. 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 reconhecida. (PR 110)
  • Correção de um problema com o SSL bidirecional entre o cliente e o Edge Microgateway. (PR 70)
  • Correção de um problema em que uma barra final era necessária no caminho de base do proxy para a chave de API para funcionar corretamente. Agora, não é preciso adicionar 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 processará. Quando o Edge Microgateway é iniciado, ele faz o download de todos os proxies com reconhecimento de microgateway organização está associado. Use a seguinte configuração para limitar quais proxies o o microgateway será processado. 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 informações do caminho da solicitação apareçam no Edge análise de dados em nuvem. Adicione o seguinte à configuração do microgateway para mascarar o URI de solicitação e/ou caminho da solicitação. Observe que o URI consiste nas partes do nome do host e 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 sondagem automática de alterações

Você pode desativar a sondagem automática de alterações definindo este atributo no microgateway configuração:

disabled_config_poll_interval: true

Por padrão, a pesquisa periódica identifica todas as alterações feitas no Edge (alterações em produtos, proxies com reconhecimento de microgateway etc.), além das alterações feitas no arquivo de configuração local. O padrão é de 600 segundos (cinco minutos).

Como reescrever URLs de destino em plug-ins

Você pode modificar dinamicamente o URL de destino padrão em um plug-in modificando essas variáveis no código do seu plug-in: req.targetHostname e req.targetPath.

Nova assinatura da função do plug-in

Uma nova assinatura de função de plug-in foi adicionada e fornece a resposta-alvo como uma . 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 baixados. É possível alterar o padrão para gerar esses objetos definindo DEBUG=* ao começar. 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. No init, configure e inicie os comandos, agora você pode 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 versão 2.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 da maneira explicada na na documentação do Google Cloud.
  • O plug-in acumula-request não trava mais para solicitações GET.
  • Foi corrigido um problema no plug-in acumula-response em que a falta de informações no 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, use:

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 serão carregados pelo Edge Microgateway inicialização. Anteriormente, o microgateway carregava todos os proxies com reconhecimento de microgateway (proxies chamados Edgemicro_*) extraídos da organização/ambiente do Edge que você especificou em Edgemicro. configure. Esse novo recurso permite filtrar essa lista de proxies para que o Edge O Microgateway carrega apenas aqueles que você especificar. Basta adicionar o elemento proxies ao microgateway de configuração da Web como este:

edge micro:
proxies:
    - edgemicro_[name]
    - edgemicro_[name]
    ...

Por exemplo, digamos que você tenha 50 proxies edgemicro_* no seu Edge org/env, incluindo os chamados edgemicro_foo e edgemicro_bar. Você pode diga ao microgateway para usar apenas esses dois proxies, desta forma:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

Na inicialização, o microgateway só poderá chamar os proxies especificados. Qualquer tentativa para chamar outros proxies com reconhecimento de microgateways baixado da organização/do ambiente de borda resultarão em erro.

Definir cabeçalhos de solicitação de destino em plug-ins

Se quiser adicionar ou modificar cabeçalhos de solicitação de destino, considere dois padrões básicos: uma em que a solicitação recebida contém dados (como em uma solicitação POST) e outra em que não contém (conforme 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 defina 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. Então, na onend_request(), use a nova função request.setOverrideHeader(name, value) para personalizar os cabeçalhos.

Este é um exemplo de código do plug-in que mostra como fazer isso. Os cabeçalhos definidos em onend_request são enviadas 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, você pode definir cabeçalhos de destino no Gerenciador de 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 alterar a configuração no Edge Microgateway, é possível carregar a configuração sem descartar nenhuma mensagem. Com essa mudança, o Edge Microgateway sempre será iniciado no modo de cluster, e a opção --cluster foi removida do edgemicro start kubectl.

Além disso, três novos comandos da CLI foram adicionados. Você precisa executar esses comandos na 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 o Edge Microgateway sem inatividade.

Atualização automática de configurações sem inatividade

O Edge Microgateway carrega uma nova configuração periodicamente e executa uma atualização, se necessário mudou. A sondagem capta todas as alterações feitas no Edge (alterações em produtos, com reconhecimento de microgateway) proxies etc.), bem como as alterações feitas no arquivo de configuração local. O intervalo de sondagem padrão é 600 segundos (cinco minutos). É possível alterar o padrão no arquivo de configuração do microgateway como da seguinte forma:

edgemicro:
    config_change_poll_interval: [seconds]

Adição de informações de versão à CLI

Uma sinalização --version foi adicionada à CLI. Para acessar a versão atual do Edge Microgateway, use:

edgemicro --version

Novas opções de SSL do servidor Edge Microgateway

O Edge Microgateway agora oferece suporte às seguintes opções de SSL do servidor, além das 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 contendo 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, separada por um ":".
rejectUnauthorized Se verdadeiro, o certificado do servidor é verificado em relação à lista de CAs fornecidas. Se falha, 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 da extensão TLS SNI (Indicação de nome do servidor).

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 a configuração de um endpoint de API personalizado

Há novos endpoints configuráveis para o proxy de autorização, que permitem o uso de um um serviço de autenticação personalizado. Esses endpoints são:

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

Para obter detalhes, 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 um proxy de autenticação compatível com várias plataformas

Uma melhoria foi feita para que o comando usado para implantar a autorização do Edge Microgateway para o Edge é compatível com sistemas Windows.

Versão 2.1.0

Novos recursos e melhorias v.21.0

Veja a seguir os novos recursos e melhorias:

Especificar as opções de SSL/TLS do cliente

Você pode especificar opções de cliente para conexões SSL/TSL com destinos usando um novo conjunto de configurações . 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

Veja 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 porta especificada no de configuração do Terraform. Você também pode especificar um número de porta usando a variável de ambiente PORT. Consulte start para mais detalhes.

Como opção, preserve os cabeçalhos de autenticação

Uma nova definição de configuração, keepAuthHeader, permite preservar o Cabeçalho de autorização enviado na solicitação. Se definido como verdadeiro, o cabeçalho Auth é passado para o alvo. Consulte OAuth.

Capacidade de usar um serviço de autorização personalizado

Se quiser usar seu próprio serviço personalizado para lidar com a autenticação, altere o authUri no arquivo de configuração do Edge Microgateway 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

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. Com os caminhos de recursos, você restringe acesso a APIs com base no sufixo do caminho do proxy. Para mais detalhes sobre como criar produtos e configurar caminhos de recursos, consulte Criar API produtos.

Suporte para instalação global do npm

Agora é possível instalar o Edge Microgateway usando a opção npm -g (global). Para mais detalhes consulte a API NPM Documentação.

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 (antes conhecido como "agente") inicia o Edge Microgateway, o segundo de desenvolvimento de software. 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ários As instâncias de microgateway podem ser executadas no mesmo host. Os arquivos de configuração estã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 EDGEMICRO_SECRET. Se você definir essas variáveis em seu sistema, não precisará especificar seus quando você usa a interface de linha de comando (CLI) para configurar e iniciar o Edge Microgateway

Configuração em cache

O Edge Microgateway usará um arquivo de configuração em cache se for reiniciado sem ao Apigee Edge.

Modo de cluster

Agora há opções para iniciar o Edge Microgateway no modo de cluster. Com o modo de cluster, você pode e aproveitar os benefícios dos sistemas multinúcleo. O microgateway usa o módulo de cluster Node.js para esse recurso. Para mais detalhes, consulte a documentação do Node.js.

Bugs corrigidos na versão 2.0.0

O ciclo de vida de eventos do plug-in agora lida corretamente com códigos assíncronos que contêm códigos com uma nova o retorno de chamada.

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

O Edge Microgateway agora usa o agente HTTP do Node.js corretamente para melhorar o pool de conexões. Isso aprimora o desempenho e a estabilidade geral sob alta carga.

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 ~./edgemicro/config.yaml.

Rotação do arquivo de registro

Um novo atributo de configuração permite especificar um intervalo de rotação para o Edge Microgateway ou de sistemas operacionais de contêineres.

Bugs corrigidos na v1.1.2

Os seguintes bugs foram corrigidos na v. 1.1.2.

Descrição
A frase de destaque Java para o proxy Edgemicro-internal usado com o Edge local agora usa o MGMT correto servidor.
Remova as dependências do typescript do agente.
Correção do bug da CLI ao usar a opção de implantação enxuta.
A referência de dependência da lógica do certificado foi corrigida.