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:
- Ligar para
edgemicro init
- Ligar para
edgemicro configure [params]
- 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:
edgemicro stop
edgemicro configure
[params]
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):
- 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:
- 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:
- Gere ou consiga uma chave e um certificado SSL usando o utilitário openssl ou o método que preferir.
- 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
- 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:
- Como os arquivos de registro podem ficar muito grandes, verifique se o diretório do arquivo de registro espaço suficiente. Consulte as seções Onde os arquivos de registro são armazenados e Como alterar o arquivo de registro padrão diretório.
- Exclua ou mova os arquivos de registro para um diretório separado pelo menos uma vez por semana.
- Se a política for excluir registros, use o comando da CLI
edgemicro log -c
para remover (limpar) registros mais antigos.
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.
-
level: (padrão: erro)
- 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.
- 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=*
- Inicie o depurador e configure-o para detectar o número da porta no processo de depuração.
- 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