Riferimento per le operazioni e la configurazione di Edge Microgateway

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Edge Microgateway versione 2.4.x

Panoramica

Questo argomento illustra come gestire e configurare Edge Microgateway, incluso il monitoraggio, logging e debug.

Apportare modifiche alla configurazione

I file di configurazione che devi conoscere includono:

  • File di configurazione di sistema predefinito
  • File di configurazione predefinito per un'istanza Edge Microgateway appena inizializzata
  • File di configurazione dinamica per l'esecuzione delle istanze

Questa sezione illustra questi file e tutto ciò che devi sapere sulla loro modifica. Per maggiori dettagli sulle impostazioni del file di configurazione, consulta Configurazione di Edge Microgateway riferimento.

Configurazione di sistema predefinita file

Quando installi Edge Microgateway, viene inserito un file di configurazione di sistema predefinito qui:

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

dove [prefix] è la directory del prefisso npm. Scopri dove se è installato Edge Microgateway.

Se modifichi il file di configurazione di sistema, devi reinizializzare, riconfigurare e riavviare Edge Microgateway:

  1. Chiama edgemicro init
  2. Chiama edgemicro configure [params]
  3. Chiama edgemicro start [params]

File di configurazione predefinito per le istanze Edge Microgateway appena inizializzate

Quando esegui edgemicro init, il file di configurazione del sistema (descritto sopra), default.yaml, viene inserito in questa directory: ~/.edgemicro

Se modifichi il file di configurazione in ~/.edgemicro, devi riconfigurarlo e riavviarlo Microgateway Edge:

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

Dinamico del file di configurazione per l'esecuzione delle istanze

Quando esegui edgemicro configure [params], viene generata una query viene creato in ~/.edgemicro. Il file è denominato in questo modo pattern: [org]-[env]-config.yaml, dove org e env sono la tua organizzazione Apigee Edge e nomi di ambiente. Puoi utilizzare questo file per apportare modifiche alla configurazione e poi ricaricarle senza tempi di inattività. Ad esempio, se aggiungi e configuri un plug-in, puoi ricaricare configurazione senza tempi di inattività, come spiegato di seguito.

Se Edge Microgateway è in esecuzione (opzione senza tempo di inattività):

  1. Ricarica la configurazione di Edge Microgateway:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Dove:

    • org è il nome dell'organizzazione Edge (devi essere un amministratore dell'organizzazione).
    • env è un ambiente della tua organizzazione (ad esempio test o prod).
    • key è la chiave restituita in precedenza dal comando .
    • secret è la chiave restituita in precedenza dal configurare.

    Esempio

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

Se Edge Microgateway viene arrestato:

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

    Dove:

    • org è il nome dell'organizzazione Edge (devi essere un amministratore dell'organizzazione).
    • env è un ambiente della tua organizzazione (ad esempio test o prod).
    • key è la chiave restituita in precedenza dal comando .
    • secret è la chiave restituita in precedenza dal configurare.

    Esempio

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

Ecco un esempio di file di configurazione. Per maggiori dettagli sulle impostazioni del file di configurazione, consulta Microgateway Edge riferimento alla configurazione.

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

Imposta le variabili di ambiente

I comandi dell'interfaccia a riga di comando che richiedono valori per l'organizzazione Edge e di sicurezza, la chiave e il segreto necessari per avviare Edge Microgateway possono essere archiviati in variabili di ambiente:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

L'impostazione di queste variabili è facoltativa. Se le imposti, non devi specificarne i valori quando utilizzi l'interfaccia a riga di comando (CLI) per configurare e avviare Edge Microgateway.

Configurazione di SSL su Edge Microgateway server

Puoi configurare il server Microgateway per l'utilizzo di SSL. Ad esempio, con SSL configurato, può chiamare le API tramite Edge Microgateway con il prefisso "https" in questo modo:

https://localhost:8000/myapi

Per configurare SSL sul server Microgateway, segui questi passaggi:

  1. Genera o ottieni un certificato e una chiave SSL utilizzando l'utilità openssl o il metodo che preferisci.
  2. Aggiungi l'attributo edgemicro:ssl a Edge Microgateway di configurazione del deployment. Per un elenco completo delle opzioni, consulta la tabella riportata di seguito. Per maggiori dettagli su Se modifichi la configurazione di Edge Microgateway, consulta Apportare modifiche alla configurazione. Ad esempio:
     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. Riavvia Edge Microgateway. Segui i passaggi descritti in Apportare modifiche alla configurazione in base al di configurazione modificato: il file predefinito o il file di configurazione del runtime.

Ecco un esempio della sezione edgemicro del file di configurazione, con SSL configurato:

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

Ecco un elenco di tutte le opzioni server supportate:

Opzione Descrizione
key Percorso di un file ca.key (in formato PEM).
cert Percorso di un file ca.cert (in formato PEM).
pfx Percorso di un file pfx contenente la chiave privata, il certificato e Certificati CA del client in formato PFX.
passphrase Una stringa contenente la passphrase per la chiave privata o PFX.
ca Percorso di un file contenente un elenco di certificati attendibili in formato PEM.
ciphers Una stringa che descrive le crittografie da utilizzare separate da un ":".
rejectUnauthorized Se impostato su true, il certificato del server viene verificato in base all'elenco di CA fornite. Se la verifica non va a buon fine, viene restituito un errore.
secureProtocol Il metodo SSL da utilizzare. Ad esempio, SSLv3_method per forzare SSL nella versione 3.
servername Il nome del server per l'estensione TLS SNI (Server Name Indication).
requestCert true per SSL a 2 vie; false per SSL unidirezionale

Utilizzo delle opzioni SSL/TLS client

Puoi configurare Edge Microgateway come client TLS o SSL quando ti connetti alla destinazione endpoint. Nel file di configurazione di Microgateway, utilizza l'elemento target per impostare SSL/TLS le opzioni di CPU e memoria disponibili.

Questo esempio fornisce le impostazioni che verranno applicate a tutti gli host:

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

In questo esempio, le impostazioni vengono applicate solo all'host specificato:

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

Ecco un esempio per TLS:

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

Ecco un elenco di tutte le opzioni client supportate:

Opzione Descrizione
pfx Percorso di un file pfx contenente la chiave privata, il certificato e Certificati CA del client in formato PFX.
key Percorso di un file ca.key (in formato PEM).
passphrase Una stringa contenente la passphrase per la chiave privata o PFX.
cert Percorso di un file ca.cert (in formato PEM).
ca Percorso di un file contenente un elenco di certificati attendibili in formato PEM.
ciphers Una stringa che descrive le crittografie da utilizzare separate da un ":".
rejectUnauthorized Se impostato su true, il certificato del server viene verificato in base all'elenco di CA fornite. Se la verifica non va a buon fine, viene restituito un errore.
secureProtocol Il metodo SSL da utilizzare. Ad esempio, SSLv3_method per forzare SSL nella versione 3.
servername Il nome del server per l'estensione TLS SNI (Server Name Indication).

Personalizzazione del proxy edgemicro-auth

Per impostazione predefinita, Edge Microgateway utilizza un proxy di cui è stato eseguito il deployment su Apigee Edge per l'autenticazione OAuth2. Il deployment di questo proxy è stato eseguito quando esegui la prima esecuzione di edgemicro configure. Puoi modifica la configurazione predefinita di questo proxy per aggiungere il supporto per attestazioni personalizzate a un file web JSON Token (JWT), configura la scadenza del token e genera token di aggiornamento. Per maggiori dettagli, vedi la pagina edgemicro-auth in GitHub.

Utilizzo di un servizio di autenticazione personalizzato

Per impostazione predefinita, Edge Microgateway utilizza un proxy di cui è stato eseguito il deployment su Apigee Edge per l'autenticazione OAuth2. Il deployment di questo proxy è stato eseguito quando esegui la prima esecuzione di edgemicro configure. Per impostazione predefinita, l'URL di questo proxy è specificato nel file di configurazione di Edge Microgateway come segue:

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

Se vuoi utilizzare un tuo servizio personalizzato per gestire l'autenticazione, modifica il valore authUri nel file di configurazione in modo che punti al tuo servizio. Per Ad esempio, è possibile che un servizio utilizzi LDAP per verificare l'identità.

.

Gestire file di log

Edge Microgateway registra le informazioni su ogni richiesta e risposta. I file di log forniscono utili informazioni per il debug e la risoluzione dei problemi.

Dove vengono archiviati i file di log

Per impostazione predefinita, i file di log vengono archiviati in /var/tmp.

Come modificare il log predefinito directory dei file

La directory in cui sono archiviati i file di log è specificata nella configurazione di Edge Microgateway . Per maggiori dettagli su come apportare modifiche alla configurazione, vedi Apportare modifiche alla configurazione.

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

Modifica il valore dir in modo da specificare una directory diversa per il file di log.

Invia i log alla console

Puoi configurare il logging in modo che le informazioni di log vengano inviate all'output standard anziché a un di log. Imposta il flag to_console su true in questo modo:

edgemicro:
  logging:
    to_console: true  

Con questa impostazione, i log verranno inviati all'uscita standard. Al momento, non puoi inviare log a entrambi stdout e in un file di log.

Come impostare il livello di logging

Puoi impostare questi livelli di log: info, warn, ed error. È consigliato il livello informativo. Registra tutte le richieste API e ed è l'impostazione predefinita.

Come modificare gli intervalli di log

Puoi configurare questi intervalli nel file di configurazione di Edge Microgateway. Per i dettagli su come effettuare modifiche alla configurazione, consulta la sezione modifiche.

Gli attributi configurabili sono:

  • stats_log_interval: (valore predefinito: 60): intervallo, in secondi, quando le statistiche viene scritto nel file di log dell'API.
  • rotate_interval: (valore predefinito: 24) intervallo, in ore, quando i file di log vengono ruotato. Ad esempio:
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

Nota : i file di log archiviati non vengono compressi. Quando inizia l'intervallo, viene viene creato un nuovo file di log con un nuovo timestamp.

Buono pratiche di manutenzione del file di log

Man mano che i dati dei file di log si accumulano nel tempo, Apigee consiglia di adottare quanto segue pratiche:

  • Dato che i file di log possono diventare piuttosto grandi, assicurati che la directory del file di log spazio a sufficienza. Consulta le seguenti sezioni: Dove vengono archiviati i file di log e Come modificare il file di log predefinito? .
  • Eliminare o spostare i file di log in una directory di archivio separata almeno una volta alla settimana.
  • Se il tuo criterio prevede l'eliminazione dei log, puoi utilizzare il comando dell'interfaccia a riga di comando edgemicro log -c per rimuovere (pulire) i log meno recenti.

Convenzione di denominazione dei file di log

Ogni istanza di Edge Microgateway produce tre tipi di file di log:

  • api: registra tutte le richieste e le risposte che passano attraverso Edge Microgateway. In questo file vengono registrati anche i contatori (statistiche) e gli errori dell'API.
  • err: registra tutto ciò che è stato inviato a stderr.
  • out - Registra tutto ciò che è stato inviato a stdout.

Questa è la convenzione di denominazione:

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

Ad esempio:

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

Informazioni sui contenuti dei file di log

Aggiunto in: versione 2.3.3

Per impostazione predefinita, il servizio di logging omette il codice JSON dei proxy, dei prodotti e dei file JSON scaricati token web (JWT). Se vuoi inviare questi oggetti ai file di log, imposta DEBUG=* all'avvio di Edge Microgateway. Ad esempio:

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

Nota: su Windows, usa SET DEBUG=*

Contenuti dell'"api" file di log

L'"API" Il file di log contiene informazioni dettagliate sul flusso di richieste e risposte attraverso Edge Microgateway. L'"API" i file di log hanno il seguente nome:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

Per ogni richiesta effettuata a Edge Microgateway, nell'API vengono acquisiti quattro eventi registrare file:

  • Richiesta in entrata dal client
  • Richiesta in uscita inviata alla destinazione
  • Risposta in arrivo dal target
  • Risposta in uscita al client

Ognuna di queste voci separate è rappresentata da una notazione abbreviata per aiutarti a rendere il log è più compatta. Ecco quattro voci di esempio che rappresentano ciascuno dei quattro eventi. Nel log file avranno il seguente aspetto (i numeri di riga servono solo come riferimento nel documento, non nel file di log).

(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

Vediamoli uno alla volta:

1. Esempio di richiesta in entrata dal client:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - Timbro data Unix
  • informazioni - Dipende dal contesto. Può trattarsi di informazioni, avvisi o errori. a seconda del livello di log. Può trattarsi di statistiche per un record di statistiche, di un avviso per gli avvisi o per gli errori.
  • req: identifica l'evento. In questo caso, la richiesta da parte di alto profilo.
  • m - Il verbo HTTP utilizzato nella richiesta.
  • u - La parte dell'URL che segue il percorso di base.
  • h - L'host e il numero di porta dove si trova Edge Microgateway in ascolto.
  • r: l'host remoto e la porta in cui la richiesta del client ha avuto origine.
  • i: l'ID richiesta. Tutte e quattro le voci degli eventi condividono questo ID. Ciascuna alla richiesta viene assegnato un ID richiesta univoco. La correlazione dei record dei log per ID richiesta insight preziosi sulla latenza del target.
  • d: il tempo in millisecondi trascorso da quando la richiesta è stata ricevuta da Microgateway Edge. Nell'esempio precedente, la risposta del target per la richiesta 0 è stata ricevuta dopo 7 millisecondi (riga 3) e la risposta è stata inviata al client dopo altre 4 millisecondi (riga 4). In altre parole, la latenza totale della richiesta è stata di 11 millisecondi, su quali 7 millisecondi sono stati presi dal target e 4 millisecondi da Edge Microgateway per trovare le regole.

2. Esempio di richiesta in uscita inviata alla destinazione:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - Timbro data Unix
  • informazioni - Dipende dal contesto. Può trattarsi di informazioni, avvisi o errori. a seconda del livello di log. Può trattarsi di statistiche per un record di statistiche, di un avviso per gli avvisi o per gli errori.
  • treq - Identifica l'evento. In questo caso, richiesta target.
  • m - Il verbo HTTP utilizzato nella richiesta di destinazione.
  • u - La parte dell'URL che segue il percorso di base.
  • h - L'host e il numero di porta del target del backend.
  • i - L'ID della voce di log. Tutte e quattro le voci dell'evento condivideranno ID.

3. Esempio di risposta in arrivo dal target

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

1436403888651 - Timbro data Unix

  • informazioni - Dipende dal contesto. Può trattarsi di informazioni, avvisi o errori. a seconda del livello di log. Può trattarsi di statistiche per un record di statistiche, di un avviso per gli avvisi o per gli errori.
  • tres - Identifica l'evento. In questo caso, la risposta target.
  • s - Lo stato della risposta HTTP.
  • d: la durata in millisecondi. Il tempo impiegato per la chiamata API da l'obiettivo.
  • i - L'ID della voce di log. Tutte e quattro le voci dell'evento condivideranno ID.

4. Esempio di risposta in uscita inviata al client

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

1436403888651 - Timbro data Unix

  • informazioni - Dipende dal contesto. Può trattarsi di informazioni, avvisi o errori. a seconda del livello di log. Può trattarsi di statistiche per un record di statistiche, di un avviso per gli avvisi o per gli errori.
  • res - Identifica l'evento. In questo caso, la risposta alla richiesta di alto profilo.
  • s - Lo stato della risposta HTTP.
  • d: la durata in millisecondi. Questo è il tempo totale impiegato dalla chiamata API, incluso il tempo impiegato dall'API target e il tempo impiegato da Edge Il microgateway stesso.
  • i - L'ID della voce di log. Tutte e quattro le voci dell'evento condivideranno ID.

Pianificazione file di log

I file di log vengono ruotati in base all'intervallo specificato la configurazione rotate_interval . Le voci continueranno a essere aggiunte allo stesso file di log fino all'intervallo di rotazione scade. Tuttavia, ogni volta che Edge Microgateway viene riavviato, riceve un nuovo UID e crea un nuovo set di file di log con questo UID. Vedi anche Buone pratiche di manutenzione dei file di log.

Configurazione del microgateway periferico riferimento

Località del file di configurazione

Gli attributi di configurazione descritti in questa sezione si trovano nel Microgateway Edge di configurazione del deployment. Per maggiori dettagli su come apportare modifiche alla configurazione, vedi Apportare modifiche alla configurazione.

Attributi edge_config

Queste impostazioni vengono utilizzate per configurare l'interazione tra l'istanza Edge Microgateway e Apigee Edge

  • bootstrap: (impostazione predefinita: nessuno) un URL che indirizza a un perimetro Servizio specifico del microgateway in esecuzione su Apigee Edge. Edge Microgateway utilizza questo servizio per comunicare con Apigee Edge. Questo URL viene restituito quando esegui il comando per generare coppia di chiavi pubblica/privata: edgemicro genkeys. Consulta le impostazioni e configurare Edge Microgateway per maggiori dettagli.
  • jwt_public_key: (valore predefinito: nessuno) un URL che rimanda al Microgateway Edge di cui viene eseguito il deployment su Apigee Edge. Questo proxy funge da endpoint di autenticazione per mediante l'emissione di token di accesso firmati ai client. Questo URL viene restituito quando esegui il comando per per il deployment del proxy: edgemicro configure. Consulta le impostazioni e configurare Edge Microgateway per maggiori dettagli.

attributi edgemicro

Queste impostazioni configurano il processo Edge Microgateway.

  • port: (valore predefinito: 8000) il numero di porta sul quale il Microgateway Edge di ascolto dei processi.
  • max_connections: (valore predefinito: -1) specifica il numero massimo di connessioni in entrata simultanee che Edge Microgateway può ricevere. Se questo numero è superato, viene restituito il seguente stato:


    res.statusCode = 429; // Too many requests
  • max_connections_hard: (valore predefinito: -1) il numero massimo di connessioni simultanee richieste che Edge Microgateway può ricevere prima di arrestare la connessione. Questa impostazione ha lo scopo di contrastare gli attacchi denial of service. In genere, imposta il valore su un numero maggiore di max_connections.
  • logging:
      .
    • level: (predefinito: errore)
        .
      • informazioni - Registra tutte le richieste e le risposte che passano attraverso un Istanza Edge Microgateway.
      • warn - Registra solo i messaggi di avviso.
      • error: registra solo i messaggi di errore.
    • dir: (predefinito: /var/tmp) la directory in cui vengono messi a disposizione i file di log archiviati.
    • stats_log_interval: (valore predefinito: 60): intervallo, in secondi, quando le statistiche viene scritto nel file di log dell'API.
    • rotate_interval: (valore predefinito: 24) intervallo, in ore, quando i file di log vengono ruotato.
  • plugins: i plug-in aggiungono funzionalità a Edge Microgateway. Per maggiori dettagli sullo sviluppo di plug-in, consulta l'articolo sullo sviluppo di o plug-in.
  • dir: un percorso relativo dalla directory ./gateway alla ./plugins o un percorso assoluto.
  • Sequenza: un elenco di moduli di plug-in da aggiungere a Edge Microgateway in esecuzione in un'istanza Compute Engine. I moduli verranno eseguiti nell'ordine in cui sono specificati qui.
  • Debug: aggiunge il debug remoto al processo Edge Microgateway.
    • port: il numero di porta su cui rimanere in ascolto. Ad esempio, imposta il debugger IDE per rimanere in ascolto su questa porta.
    • args: argomenti del processo di debug. Ad esempio: args --nolazy
  • config_change_poll_interval: (valore predefinito: 600 secondi) Edge Microgateway carica periodicamente una nuova configurazione ed esegue un ricaricamento se è stato modificato. Il sondaggio rileva eventuali modifiche apportate su Edge (modifiche ai prodotti, ai proxy sensibili al microgateway e così via) come nonché le modifiche apportate al file di configurazione locale.
  • disable_config_poll_interval: (valore predefinito: false) impostato su true per disattivare la modifica automatica sondaggio.
  • request_timeout: imposta un timeout per le richieste target. Il timeout è impostato in secondi. Se si verifica un timeout, Edge Microgateway risponde con un codice di stato 504. (Aggiunta v2.4.x)

attributi header

Queste impostazioni configurano il modo in cui vengono trattate determinate intestazioni HTTP.

  • x-forwarded-for: (impostazione predefinita: true). Imposta su false per evitare x-forwarded-for da passare alla destinazione. Tieni presente che se un'intestazione x-forwarded-for nella richiesta, il suo valore verrà impostato sul valore client-ip in Edge Analytics.
  • x-forwarded-host: (predefinito: true). Imposta su false per evitare intestazioni x-forwarded-host da passare alla destinazione.
  • x-request-id: (default: true) impostato su false per evitare intestazioni x-request-id da passare alla destinazione.
  • x-response-time: (default: true) su false per evitare intestazioni x-response-time da passare alla destinazione.
  • via: (default: true) Imposta su false per impedire che tramite le intestazioni venga passati al target.

attributi OAuth

Queste impostazioni configurano il modo in cui l'autenticazione client viene applicata da Edge Microgateway.

  • allowNoAuthorization: (impostazione predefinita: false) Se viene impostato su true, le chiamate API vengono autorizzati a passare attraverso Edge Microgateway senza alcuna intestazione di autorizzazione. Impostalo su false per richiedere un'intestazione Autorizzazione (impostazione predefinita).
  • allowInvalidAuthorization (predefinito: false) Se impostato su true, le chiamate API vengono possono essere trasmessi se il token passato nell'intestazione Autorizzazione non è valido o è scaduto. Imposta questo su false per richiedere token validi (impostazione predefinita).
  • Authorization-header (impostazione predefinita: Authorization: Bearer) L'intestazione utilizzata per per inviare il token di accesso a Edge Microgateway. Ti consigliamo di modificare l'impostazione predefinita nei casi in cui la destinazione deve utilizzare l'intestazione Autorizzazione per altri scopi.
  • api-key-header: (predefinito: x-api-key) il nome dell'intestazione o della query utilizzato per passare una chiave API a Edge Microgateway. Consulta anche Utilizzo di una chiave API.
  • keepAuthHeader (predefinito: false): se il valore è impostato su true, l'intestazione Autorizzazione inviate nella richiesta vengono passate alla destinazione (vengono mantenute).
  • allowOAuthOnly: se impostato su true, ogni API deve includere una Intestazione di autorizzazione con un token di accesso di connessione. Ti permette di autorizzare solo le richieste di sicurezza OAuth (pur mantenendo la compatibilità con le versioni precedenti). (Aggiunta la versione 4.2.x)
  • allowAPIKeyOnly: se impostato su true, ogni API deve avere un'intestazione x-api-key (o una posizione personalizzata) con una chiave API. di autorizzare solo il modello di sicurezza delle chiavi API (pur mantenendo la compatibilità con le versioni precedenti). (Aggiunta la versione 4.2.x)

Specifico per i plug-in attributi

Per informazioni dettagliate sugli attributi configurabili di ciascun plug-in, consulta la sezione Utilizzo dei plug-in.

Proxy di filtro

Puoi filtrare i proxy sensibili al microgateway che verranno elaborati da un'istanza Edge Microgateway. All'avvio di Edge Microgateway, scarica tutti i proxy sensibili al microgateway all'interno dell'organizzazione a cui è associato. Utilizza la seguente configurazione per limitare i proxy che verrà elaborato dal microgateway. Ad esempio, questa configurazione limita i proxy del microgateway verranno elaborati in tre: edgemicro_proxy-1, edgemicro_proxy-2, e edgemicro_proxy-3:

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

Mascheramento dei dati di analisi

La seguente configurazione impedisce la visualizzazione delle informazioni sul percorso di richiesta in Edge Analytics. Aggiungi quanto segue alla configurazione del microgateway per mascherare l'URI della richiesta e/o del percorso di richiesta. Tieni presente che l'URI è costituito dalle parti del nome host e del percorso della richiesta.

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

Configurazione di Edge Microgateway dietro un firewall aziendale

Versione 4.2.x supportata

Se Edge Microgateway è installato dietro un firewall, il gateway potrebbe non essere in grado di comunicare con Apigee Edge. In tal caso, puoi prendere in considerazione due opzioni:

Opzione 1:

La prima è impostare l'opzione edgemicro: proxy_tunnel su true nella di configurazione del microgateway:

edge_config:

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

Quando proxy_tunnel è true, Edge Il Microgateway utilizza il metodo CONNECT HTTP per eseguire il tunneling delle richieste HTTP a una singola connessione TCP. Lo stesso vale se le variabili di ambiente per la configurazione del proxy sono abilitati per TLS).

Opzione 2:

La seconda opzione è specificare un proxy e impostare proxy_tunnel su false nel di configurazione del microgateway. Ad esempio:

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

In questo caso, è possibile impostare le seguenti variabili per controllare gli host per ogni HTTP proxy che vuoi utilizzare o quali host non devono gestire Edge Microgateway proxy: HTTP_PROXY, HTTPS_PROXY, e NO_PROXY.

Puoi impostare NO_PROXY come elenco di domini delimitato da virgole a cui Edge Microgateway non dovrebbe inviare. Ad esempio:

export NO_PROXY='localhost,localhost:8080'

Imposta HTTP_PROXY e HTTPS_PROXY sul protocollo HTTP l'endpoint proxy Edge Microgateway può inviarti messaggi. Ad esempio:

export HTTP_PROXY='http://localhost:3786'

export HTTPS_PROXY='https://localhost:3786'

Per ulteriori informazioni su queste variabili, consulta:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


Vedi anche

Come configurare Edge Microgateway dietro un firewall aziendale nella community Apigee.

Utilizzo di caratteri jolly in Microgateway-aware proxy

Puoi utilizzare uno o più "*" caratteri jolly nel percorso di base un proxy edgemicro_* (con conoscenza del Microgateway). Ad esempio, un percorso di base di /team/*/members consente ai clienti di chiama https://[host]/team/blue/members e https://[host]/team/green/members senza devi creare nuovi proxy API per supportare nuovi team. Nota che /**/ non è supportato.

Importante: Apigee NON supporta l'utilizzo di un carattere jolly "*" come il il primo elemento di un percorso di base. Ad esempio, NON si tratta supportato: /*/ ricerca.


Debug e Risoluzione dei problemi

Connessione a un debugger

Puoi eseguire Edge Microgateway con un debugger, come node-inspector. Questo è utile per risoluzione dei problemi e debug dei plug-in personalizzati.

  1. Riavvia Edge Microgateway in modalità di debug. Per farlo, aggiungi DEBUG=* a l'inizio del comando start. Ad esempio:


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

    Nota: su Windows, usa SET DEBUG=*

  2. Avvia il debugger e impostalo in modo che ascolti il numero di porta per il processo di debug.
  3. Ora puoi esplorare il codice Edge Microgateway, impostare punti di interruzione, controllare le espressioni e così via.

Puoi specificare flag Node.js standard relativi alla modalità di debug. Ad esempio: --nolazy consente di eseguire il debug del codice asincrono.

Controllo dei file di log

Se riscontri problemi, assicurati di esaminare i file di log per trovare dettagli di esecuzione ed errori informazioni. Per maggiori dettagli, vedi Gestione dei file di log.

Utilizzare la sicurezza delle chiavi API

Le chiavi API forniscono un semplice meccanismo per autenticare i client che effettuano richieste a Edge Microgateway. Puoi ottenere una chiave API copiando il valore della chiave utente (detto anche ID client). da un prodotto Apigee Edge che include il proxy di autenticazione Edge Microgateway.

Memorizzazione nella cache delle chiavi

Le chiavi API vengono scambiate con token di connessione, che vengono memorizzati nella cache. Puoi disattivare la memorizzazione nella cache impostando l'intestazione Cache-Control: no-cache sulle richieste in entrata a Edge Microgateway.

Utilizzo della sicurezza del token OAuth2

Per maggiori dettagli sull'utilizzo di un token OAuth con le richieste proxy, consulta Sicurezza Microgateway Edge.

Utilizzare una chiave API

Per maggiori dettagli sull'utilizzo delle chiavi API con le richieste proxy, consulta Sicurezza Microgateway Edge.

Configurare il nome della chiave API

Per impostazione predefinita, x-api-key è il nome utilizzato per l'intestazione o la query della chiave API . Puoi modificare questa impostazione predefinita nel file di configurazione, come spiegato nella sezione Apportare modifiche alla configurazione. Per Ad esempio, per cambiare il nome in apiKey:

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