Referência de operações e configurações do Edge Microgateway

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

Edge Microgateway v. 2.4.x

Visão geral

Este tópico aborda como gerenciar e configurar o Edge Microgateway, incluindo monitoramento, geração de registros e depuração.

Como fazer alterações na configuração

Os arquivos de configuração que você precisa conhecer incluem:

  • Arquivo de configuração do sistema padrão
  • Arquivo de configuração padrão para uma instância recém-inicializada do Edge Microgateway
  • Arquivo de configuração dinâmica para instâncias em execução

Esta seção discute esses arquivos e o que você precisa saber sobre como alterá-los. Para mais detalhes sobre as definições do arquivo de configuração, acesse Configuração do Edge Microgateway como referência.

Configuração padrão do sistema arquivo

Quando você instala o Edge Microgateway, um arquivo de configuração do sistema padrão é colocado aqui:

[prefix]/lib/node_modules/edgemicro/config/default.yaml

em que [prefix] é o diretório do prefixo npm. Consulte Onde está o Edge Microgateway instalado.

Se você alterar o arquivo de configuração do sistema, será necessário reinicializar, reconfigurar e reiniciar o Edge Microgateway:

  1. Ligar para edgemicro init
  2. Ligar para edgemicro configure [params]
  3. Ligar para edgemicro start [params]

Arquivo de configuração padrão para instâncias recém-inicializadas do Edge Microgateway

Quando você executa edgemicro init, o arquivo de configuração do sistema (descrito acima), default.yaml, é colocado neste diretório: ~/.edgemicro

Se você mudar o arquivo de configuração em ~/.edgemicro, será necessário reconfigurar e reiniciar Edge Microgateway:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

Dinâmico de configuração para instâncias em execução

Ao executar edgemicro configure [params], um modelo arquivo de configuração é criado em aproximadamente /.edgemicro. O arquivo é nomeado de acordo com este estampa: [org]-[env]-config.yaml, em que org e env são sua organização do Apigee Edge e nomes de ambientes. Você pode usar esse arquivo para fazer mudanças na configuração e depois recarregá-las com tempo de inatividade zero. Por exemplo, se você adicionar e configurar um plug-in, poderá atualizar o sem causar inatividade, conforme explicado abaixo.

Se o Edge Microgateway estiver em execução (opção de inatividade zero):

  1. Atualize a configuração do Edge Microgateway:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Em que:

    • org é o nome da sua organização de Edge (você precisa ser administrador da organização).
    • env é um ambiente na sua organização (como teste ou prod).
    • key é a chave retornada anteriormente pelo método de configuração. kubectl.
    • secret é a chave retornada anteriormente pelo configure.

    Exemplo

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

Se o Edge Microgateway for interrompido:

  1. Reinicie o Edge Microgateway:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    Em que:

    • org é o nome da sua organização de Edge (você precisa ser administrador da organização).
    • env é um ambiente na sua organização (como teste ou prod).
    • key é a chave retornada anteriormente pelo método de configuração. kubectl.
    • secret é a chave retornada anteriormente pelo configure.

    Exemplo

    edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

Este é um exemplo de arquivo de configuração. Para detalhes sobre as definições do arquivo de configuração, consulte Edge Microgateway de configuração do Terraform.

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

Como definir variáveis de ambiente

Os comandos da interface de linha de comando que exigem valores para sua organização de Edge e e a chave e o secret necessários para iniciar o Edge Microgateway podem ser armazenados variáveis de ambiente:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

A definição dessas variáveis é opcional. Se você configurá-las, não precisa especificar os valores delas quando você usa a interface de linha de comando (CLI) para configurar e iniciar o Edge Microgateway.

Como configurar SSL no Edge Microgateway servidor

É possível configurar o servidor Microgateway para usar SSL. Por exemplo, com o SSL configurado, você pode chamar APIs pelo Edge Microgateway com o "https" da seguinte forma:

https://localhost:8000/myapi

Para configurar o SSL no servidor Microgateway, siga estas etapas:

  1. Gere ou consiga uma chave e um certificado SSL usando o utilitário openssl ou o método que preferir.
  2. Adicione o atributo edgemicro:ssl ao Edge Microgateway de configuração do Terraform. Para conferir uma lista completa de opções, consulte a tabela abaixo. Para detalhes sobre modificando a configuração do Edge Microgateway, consulte Como fazer alterações na configuração; Por exemplo:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
             requestCert: true 
  3. Reinicie o Edge Microgateway. Siga as etapas descritas em Como fazer alterações na configuração dependendo do arquivo de configuração editado: o arquivo padrão ou o arquivo de configuração do ambiente de execução.

Veja um exemplo da seção Edgemicro do arquivo de configuração, com SSL configurado:

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

Esta é uma lista de todas as opções de servidor compatíveis:

Opção Descrição
key Caminho para um arquivo ca.key (no formato PEM).
cert Caminho para um arquivo ca.cert (no formato PEM).
pfx O caminho para um arquivo pfx que contém a chave privada, o certificado e Certificados de CA 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).
requestCert true para SSL bidirecional; falso para SSL unidirecional

Como usar as opções SSL/TLS do cliente

É possível configurar o Edge Microgateway como um cliente TLS ou SSL ao se conectar ao destino endpoints. No arquivo de configuração do Microgateway, use o elemento de destinos para definir o SSL/TLS .

Este exemplo apresenta configurações que serão aplicadas a todos os hosts:

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

Neste exemplo, as configurações são aplicadas apenas ao host especificado:

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

Veja um exemplo para TLS:

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

Esta é uma lista de todas as opções de cliente compatíveis:

Opção Descrição
pfx O caminho para um arquivo pfx que contém a chave privada, o certificado e Certificados de CA do cliente no formato PFX.
key Caminho para um arquivo ca.key (no formato PEM).
passphrase Uma string contendo a senha longa da chave privada ou PFX.
cert Caminho para um arquivo ca.cert (no formato PEM).
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).

Como personalizar o proxy Edgemicro-auth

Por padrão, o Edge Microgateway usa um proxy implantado no Apigee Edge para a autenticação OAuth2. Esse proxy é implantado quando você executa edgemicro configure inicialmente. Você pode mude a configuração padrão deste proxy para adicionar suporte a declarações personalizadas para um JSON Web token (JWT), configurar a expiração do token e gerar tokens de atualização. Para mais detalhes, consulte a página edgemicro-auth no GitHub.

Como usar um serviço de autenticação personalizado

Por padrão, o Edge Microgateway usa um proxy implantado no Apigee Edge para a autenticação OAuth2. Esse proxy é implantado quando você executa edgemicro configure inicialmente. Por padrão, o URL desse proxy é especificado no arquivo de configuração do Edge Microgateway da seguinte maneira:

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

Se quiser usar seu próprio serviço personalizado para lidar com a autenticação, altere o valor authUri no arquivo de configuração para apontar para seu serviço. Para Por exemplo, você pode ter um serviço que usa LDAP para verificar a identidade.

Gerenciamento arquivos de registro

O Edge Microgateway registra informações sobre cada solicitação e resposta. Os arquivos de registro fornecem informações informações para depuração e solução de problemas.

Onde os arquivos de registros são armazenados

Por padrão, os arquivos de registro são armazenados em /var/tmp.

Como alterar o registro padrão diretório de arquivos

O diretório em que os arquivos de registros são armazenados é especificado na configuração do Edge Microgateway . Para detalhes sobre como fazer alterações na configuração, consulte Como fazer alterações na configuração.

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

Altere o valor de dir para especificar um diretório diferente de arquivos de registro.

Enviar registros para o console

É possível configurar o registro de modo que as informações de registro sejam enviadas para a saída padrão em vez de para um do arquivo de registros. Defina a flag to_console como "true" da seguinte maneira:

edgemicro:
  logging:
    to_console: true  

Com essa configuração, os registros serão enviados para a saída padrão. Atualmente, não é possível enviar registros para ambos stdout e em um arquivo de registros.

Como definir o nível de geração de registros

Você pode definir estes níveis de registro: info, warn, e error. O nível de informação é recomendado. Ele registra todas as solicitações de API e e é o padrão.

Como alterar intervalos de registro

É possível configurar esses intervalos no arquivo de configuração do Edge Microgateway. Para detalhes sobre como fazer mudanças na configuração, consulte Como fazer ajustes mudanças.

Os atributos configuráveis são:

  • stats_log_interval: (padrão: 60) intervalo, em segundos, quando as estatísticas registro é gravado no arquivo de registro da API.
  • rotate_interval: (padrão: 24) Intervalo, em horas, quando os arquivos de registro forem girado. Exemplo:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

Observação: os arquivos de registro arquivados não são compactados. Quando o intervalo começa, um o novo arquivo de registro é criado com um novo carimbo de data/hora.

Bom práticas de manutenção de arquivos de registro

À medida que os dados dos arquivos de registro se acumulam ao longo do tempo, a Apigee recomenda que você adote as seguintes práticas recomendadas:

Convenção de nomenclatura do arquivo de registros

Cada instância do Edge Microgateway produz três tipos de arquivos de registro:

  • api: registra todas as solicitações e respostas que fluem pelo Edge. Microgateway Contadores (estatísticas) e erros de API também são registrados nesse arquivo.
  • err: registra tudo que é enviado para stderr.
  • out: registra tudo que é enviado para stdout.

Esta é a convenção de nomenclatura:

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

Exemplo:

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

Sobre o conteúdo do arquivo de registros

Adicionado à: v2.3.3

Por padrão, o serviço de geração de registros omite o JSON de proxies, produtos e o JSON baixados Web Token (JWT). Se quiser enviar esses objetos para os arquivos de registro, defina DEBUG=* ao iniciar o Edge Microgateway. Exemplo:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

Observação : no Windows, use SET DEBUG=*

Conteúdo de "api" arquivo de registros

A "API" O arquivo de registros contém informações detalhadas sobre o fluxo de solicitações e respostas pelo Edge Microgateway. A "API" os arquivos de registro têm o seguinte nome:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

Em cada solicitação feita ao Edge Microgateway, quatro eventos são capturados na "API" registro arquivo:

  • Solicitação recebida do cliente
  • Solicitação enviada ao destino
  • Resposta de entrada do alvo
  • Resposta enviada ao cliente

Cada uma dessas entradas separadas é representada em uma notação abreviada para ajudar a tornar o registro arquivos mais compactos. Aqui estão quatro entradas de exemplo que representam cada um dos quatro eventos. No registro , eles têm esta aparência (os números das linhas servem apenas para referência no documento, não aparecem no arquivo de registro).

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

Vamos analisar cada um deles:

1. Exemplo de solicitação recebida do cliente:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651: carimbo de data do Unix
  • info: depende do contexto. Pode ser uma informação, um aviso ou um erro, dependendo do nível de registro. Podem ser estatísticas para um registro de estatísticas, avisar sobre avisos ou em busca de erros.
  • req: identifica o evento. Nesse caso, faça uma solicitação do para o cliente.
  • m: o verbo HTTP usado na solicitação.
  • u: a parte do URL após o caminho de base.
  • h: o host e o número da porta em que o Edge Microgateway está ouvindo.
  • r: o host remoto e a porta em que a solicitação do cliente se originou.
  • i: o ID da solicitação. As quatro entradas de evento compartilharão esse ID. Cada recebe um ID de solicitação exclusivo. A correlação de registros de log por ID de solicitação pode dar insights valiosos sobre a latência do alvo.
  • d: a duração em milissegundos desde o recebimento da solicitação por o Edge Microgateway. No exemplo acima, a resposta do destino para a solicitação 0 foi recebida após 7 milissegundos (linha 3), e a resposta foi enviada ao cliente após mais 4 milésimos de segundo (linha 4). Em outras palavras, a latência total da solicitação foi de 11 milissegundos, quais 7 milissegundos foram usados pelo alvo e 4 milissegundos pelo Edge Microgateway por conta própria.

2. Exemplo de solicitação de saída feita ao destino:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651: carimbo de data do Unix
  • info: depende do contexto. Pode ser uma informação, um aviso ou um erro, dependendo do nível de registro. Podem ser estatísticas para um registro de estatísticas, avisar em caso de avisos ou em busca de erros.
  • treq: identifica o evento. Neste caso, a solicitação de destino.
  • m: o verbo HTTP usado na solicitação de destino.
  • u: a parte do URL após o caminho de base.
  • h: o host e o número da porta do destino do back-end.
  • i: o ID da entrada de registro. As quatro entradas de evento compartilharão isso ID.

3. amostra de resposta recebida do alvo

1436403888672 info tres s=200, d=7, i=0

1436403888651: carimbo de data do Unix

  • info: depende do contexto. Pode ser uma informação, um aviso ou um erro, dependendo do nível de registro. Podem ser estatísticas para um registro de estatísticas, avisar em caso de avisos ou em busca de erros.
  • tres: identifica o evento. Nesse caso, a resposta-alvo.
  • s: o status da resposta HTTP.
  • d: a duração em milissegundos. O tempo gasto para chamar a API por ao alvo.
  • i: o ID da entrada de registro. As quatro entradas de evento compartilharão isso ID.

4. Exemplo de resposta enviada ao cliente

1436403888676 info res s=200, d=11, i=0

1436403888651: carimbo de data do Unix

  • info: depende do contexto. Pode ser uma informação, um aviso ou um erro, dependendo do nível de registro. Podem ser estatísticas para um registro de estatísticas, avisar em caso de avisos ou em busca de erros.
  • res: identifica o evento. Nesse caso, a resposta ao para o cliente.
  • s: o status da resposta HTTP.
  • d: a duração em milissegundos. Esse é o tempo total gasto pela chamada de API, incluindo o tempo gasto pela API de destino e o tempo que o Edge leva O próprio Microgateway.
  • i: o ID da entrada de registro. As quatro entradas de evento compartilharão isso ID.

Programação do arquivo de registros

Os arquivos de registro são rotacionados no intervalo especificado por a configuração rotate_interval atributo. As entradas continuarão sendo adicionadas ao mesmo arquivo de registro até o intervalo de rotação expira. No entanto, cada vez que o Edge Microgateway é reiniciado, ele recebe um novo UID e cria um novo conjunto de arquivos de registro com esse UID. Consulte também Práticas recomendadas de manutenção de arquivos de registros.

Configuração do Edge Microgateway referência

Local do arquivo de configuração

Os atributos de configuração descritos nesta seção estão no Edge Microgateway de configuração do Terraform. Para detalhes sobre como fazer alterações na configuração, consulte Como fazer alterações na configuração.

Atributos do Edge_config

Essas configurações são usadas para definir a interação entre a instância do Edge Microgateway e Apigee Edge.

  • bootstrap: (padrão: nenhum) um URL que aponta para um Edge Serviço específico do microgateway em execução no Apigee Edge. O Edge Microgateway usa esse serviço para se comunicar com o Apigee Edge. Esse URL é retornado quando você executa o comando para gerar o par de chaves públicas/privadas: edgemicro genkeys. Consulte a Configuração configure o Edge Microgateway para saber mais.
  • jwt_public_key: (padrão: nenhum) um URL que aponta para o Edge Microgateway proxy implantado no Apigee Edge. Esse proxy serve como um endpoint de autenticação para a emissão de tokens de acesso assinados para clientes. Esse URL é retornado quando você executa o comando para implantar o proxy: edgemicro configure. Consulte a Configuração configure o Edge Microgateway para saber mais.

atributos do Edgemicro

Essas configurações definem o processo do Edge Microgateway.

  • port: (padrão: 8000) o número da porta em que o Edge Microgateway o processo de detecção.
  • max_connections: (padrão: -1) especifica o número máximo de conexões de entrada simultâneas que o Edge Microgateway pode receber. Se este número for excedido, o seguinte status será retornado:

    res.statusCode = 429; // Too many requests
  • max_connections_hard: (padrão: -1) o número máximo de chamadas solicitações que o Edge Microgateway pode receber antes de encerrar a conexão. Esta configuração tem como objetivo frustrar ataques de negação de serviço. Normalmente, defina-o como um número maior que max_connections.
  • geração de registros:
    • level: (padrão: erro)
      • info: registra todas as solicitações e respostas que fluem por um Instância do Edge Microgateway.
      • warn: registra apenas mensagens de aviso.
      • error: registra somente mensagens de erro.
    • dir: (padrão: /var/tmp) o diretório onde os arquivos de registro estão armazenados.
    • stats_log_interval: (padrão: 60) intervalo, em segundos, quando as estatísticas record é gravado no arquivo de registro da API.
    • rotate_interval: (padrão: 24) Intervalo, em horas, quando os arquivos de registro forem girado.
  • plug-ins: os plug-ins adicionam funcionalidade ao Edge Microgateway. Para mais detalhes sobre como desenvolver plug-ins, consulte Como desenvolver plug-ins.
  • dir: um caminho relativo do diretório ./gateway para o ./plugins ou um caminho absoluto.
  • sequência: uma lista de módulos de plug-in a serem adicionados ao Edge Microgateway instância. Os módulos serão executados na ordem em que forem especificados aqui.
  • debug: adiciona a depuração remota ao processo do Edge Microgateway.
    • port: o número da porta a ser detectada. Por exemplo, defina o depurador do ambiente de desenvolvimento integrado para detectar nessa porta.
    • args: argumentos para o processo de depuração. Por exemplo: args --nolazy
  • config_change_poll_interval:: (padrão: 600 segundos) Edge Microgateway carrega uma nova configuração periodicamente e executa uma atualização caso algo mude. A enquete pega todas as alterações feitas no Edge (alterações em produtos, proxies com reconhecimento de microgateway etc.) conforme bem como as alterações feitas no arquivo de configuração local.
  • disable_config_poll_interval:: (padrão: falso) defina como true para desativar a mudança automática a sondagem.
  • request_timeout: define um tempo limite para as solicitações de destino. O tempo limite é definido em segundos. Se ocorrer um tempo limite, o Edge Microgateway responderá com um código de status 504. (Adicionado v2.4.x)

atributos de cabeçalhos

Essas configurações definem como certos cabeçalhos HTTP são tratados.

  • x-forwarded-for (padrão: true): defina como "falso" para evitar x-forwarded-for passem para o destino. Se um cabeçalho x-forwarded-for estiver na solicitação, o valor será definido como o valor de client-ip no Edge Analytics.
  • x-forwarded-host (padrão: verdadeiro): defina como falso para evitar cabeçalhos x-forwarded-host sejam passados para o destino.
  • x-request-id (padrão: verdadeiro): defina como falso para evitar x-request-id a serem passados para o destino.
  • x-response-time (padrão: true): defina como falso para evitar cabeçalhos x-response-time passados para o destino.
  • via: (padrão: true) defina como "false" para impedir que os cabeçalhos sejam passados para o destino.

atributos OAuth

Estas configurações definem como a autenticação do cliente é aplicada pelo Edge Microgateway.

  • allowNoAuthorization: (padrão: false) Se definido como verdadeiro, as chamadas de API serão têm permissão para passar pelo Edge Microgateway sem nenhum cabeçalho de autorização. Defina como falso para exigir um cabeçalho de autorização (padrão).
  • allowInvalidAuthorization (padrão: false): se definida como "true", as chamadas de API serão tem permissão de transmitir se o token passado no cabeçalho de autorização for inválido ou tiver expirado. Definir isto como falso para exigir tokens válidos (padrão).
  • autorização-header: (padrão: autorização: Bearer) o cabeçalho usado para enviar o token de acesso para o Edge Microgateway. É possível alterar o padrão nos casos em que o destino precisa usar o cabeçalho de autorização para outra finalidade.
  • api-key-header (padrão: x-api-key): é o nome do cabeçalho ou da consulta. parâmetro usado para transmitir uma chave de API ao Edge Microgateway. Consulte também Como usar uma chave de API.
  • keepAuthHeader: (padrão: false): se definida como "true", o cabeçalho de autorização enviado na solicitação é passado para o destino (ele é preservado).
  • allowOAuthOnly: se definido como verdadeiro, todas as APIs deverão ter uma Cabeçalho de autorização com um token de acesso do portador. Permite que apenas a permissão de segurança OAuth modelo, mantendo a compatibilidade com versões anteriores. (Adicionado 4.2.x)
  • allowAPIKeyOnly: se definida como "true", toda API precisará transportar um cabeçalho x-api-key (ou um local personalizado) com uma chave de API.Allows permitir apenas o modelo de segurança da chave de API, mantendo a compatibilidade com versões anteriores. (Adicionado 4.2.x)

Específico do plug-in atributos

Consulte Como usar plug-ins para obter detalhes sobre os atributos configuráveis de cada plug-in.

Como filtrar proxies

É 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 será processada 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 de análise

A configuração a seguir impede que as 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'

Como configurar o Edge Microgateway em um firewall da empresa

Compatível com a v4.2.x

Se o Edge Microgateway estiver instalado por trás de um firewall, talvez o gateway não consiga se comunicar com o Apigee Edge. Nesse caso, há duas opções a serem consideradas:

Opção 1:

A primeira opção é definir a opção Edgemicro: proxy_tunnel como "true" no Arquivo de configuração do microgateway:

edge_config:

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

Quando proxy_tunnel for true, o Edge O microgateway usa o método CONNECT de HTTP para encapsular solicitações HTTP por em uma única conexão TCP. (O mesmo acontece se as variáveis de ambiente para configurar o proxy se o TLS está ativado).

Opção 2:

A segunda opção é especificar um proxy e configurar proxy_tunnel como falso 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 solicitação HTTP proxy que você quer usar ou quais hosts não devem usar o Edge Microgateway proxies: HTTP_PROXY, HTTPS_PROXY, e NO_PROXY.

Você pode definir NO_PROXY como uma lista de domínios delimitados por vírgulas. para que o Edge Microgateway não possa usar o proxy. Exemplo:

export NO_PROXY='localhost,localhost:8080'

Configure HTTP_PROXY e HTTPS_PROXY como os o endpoint do proxy Edge Microgateway pode enviar mensagens para ele. 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


Consulte também

Como configurar o Edge Microgateway por um firewall da empresa na comunidade da Apigee.

Como usar caracteres curinga com reconhecimento de microgateway proxies

Você pode usar um ou mais caracteres "*" caracteres curinga no caminho base de um proxy edgemicro_* (Microgateway-aware). Por exemplo, um caminho base /team/*/members permite aos clientes ligue para https://[host]/team/blue/members e https://[host]/team/green/members sem você precisa criar novos proxies de API para dar suporte a novas equipes. Observação que /**/ não tem suporte.

Importante: a Apigee NÃO é compatível com o uso de um caractere curinga "*" como primeiro elemento de um caminho base. Por exemplo, NÃO é compatível: /*/ pesquisa.


Depuração e Solução de problemas

Como se conectar a um depurador

É possível executar o Edge Microgateway com um depurador, como o node-inspector. Isso é útil para solução de problemas e depuração de plug-ins personalizados.

  1. Reiniciar o Edge Microgateway no modo de depuração. Para fazer isso, adicione DEBUG=* a no início do comando "start". Por exemplo:

    DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed

    Observação:no Windows, use SET DEBUG=*

  2. Inicie o depurador e configure-o para detectar o número da porta no processo de depuração.
  3. Agora é possível percorrer o código do Edge Microgateway, definir pontos de interrupção, expressões de observação, e assim por diante.

É possível especificar sinalizações padrão do Node.js relacionadas ao modo de depuração. Por exemplo: --nolazy ajuda com a depuração do código assíncrono.

Como verificar arquivos de registro

Se você estiver com problemas, examine os arquivos de registro para conferir detalhes de execução e erros informações imprecisas ou inadequadas. Para detalhes, consulte Como gerenciar arquivos de registro.

Como usar a segurança da chave de API

As chaves de API oferecem um mecanismo simples para autenticar clientes que fazem solicitações ao Edge Microgateway Você pode conseguir uma chave de API copiando o valor da chave do cliente (também chamado de ID do cliente) de um produto do Apigee Edge que inclui o proxy de autenticação do Edge Microgateway.

Armazenamento em cache de chaves

As chaves de API são trocadas por tokens do portador, que são armazenados em cache. Para desativar o armazenamento em cache, defina o cabeçalho Cache-Control: no-cache nas solicitações recebidas no Edge; Microgateway

Como usar a segurança do token OAuth2

Para detalhes sobre como usar um token OAuth com solicitações de proxy, consulte Seguro Edge Microgateway.

Como usar uma chave de API

Para detalhes sobre o uso de chaves de API com solicitações de proxy, consulte Proteger Edge Microgateway.

Como configurar o nome da chave de API

Por padrão, x-api-key é o nome usado para o cabeçalho ou a consulta da chave de API. . Você pode alterar esse padrão no arquivo de configuração, conforme explicado em Como fazer alterações na configuração. Para Exemplo, para mudar o nome para apiKey:

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey