<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
Übersicht
In diesem Thema wird erläutert, wie Sie Edge Microgateway verwalten und konfigurieren, einschließlich Monitoring, Logging und Debugging.
Konfigurationsänderungen vornehmen
Zu den Konfigurationsdateien, die Sie kennen sollten, gehören:
- Standardsystemkonfigurationsdatei
- Standardkonfigurationsdatei für eine neu initialisierte Edge Microgateway-Instanz
- Dynamische Konfigurationsdatei für ausgeführte Instanzen
In diesem Abschnitt werden diese Dateien erläutert und Sie erfahren, was Sie wissen müssen, wenn Sie sie ändern. Weitere Informationen Informationen zu den Einstellungen von Konfigurationsdateien finden Sie unter Edge Microgateway-Konfiguration Referenz.
Standardsystemkonfiguration Datei
Wenn Sie Edge Microgateway installieren, wird hier eine Standardsystemkonfigurationsdatei abgelegt:
[prefix]/lib/node_modules/edgemicro/config/default.yaml
Dabei ist [prefix] das Präfixverzeichnis npm.
Hier erfahren Sie,
Edge Microgateway installiert ist.
Wenn Sie die Systemkonfigurationsdatei ändern, müssen Sie Edge neu initialisieren, neu konfigurieren und neu starten Microgateway:
edgemicro initanrufenedgemicro configure [params]anrufenedgemicro start [params]anrufen
Standardkonfigurationsdatei für neu initialisierte Edge Microgateway-Instanzen
Wenn Sie edgemicro init ausführen, ist die Systemkonfigurationsdatei
(oben beschrieben), default.yaml, wird in diesem Verzeichnis platziert:
~/.edgemicro
Wenn Sie die Konfigurationsdatei in ~/.edgemicro ändern, müssen Sie sie neu konfigurieren und neu starten
Edge Microgateway:
edgemicro stopedgemicro configure[params]edgemicro start[params]
Dynamisch Konfigurationsdatei für ausgeführte Instanzen
Wenn Sie edgemicro configure [params] ausführen, wird eine dynamische
Konfigurationsdatei wird in ~/.edgemicro erstellt. Der Name der Datei lautet
Muster: [org]-[env]-config.yaml,
wobei org und env Ihre Apigee Edge-Organisation sind
und Umgebungsnamen. Sie können diese Datei verwenden, um Änderungen an der Konfiguration vorzunehmen und sie dann neu zu laden
ganz ohne Ausfallzeiten. Wenn Sie beispielsweise ein Plug-in hinzufügen und konfigurieren, können Sie das
ohne Ausfallzeiten zu konfigurieren.
Wenn Edge Microgateway ausgeführt wird (Option ohne Ausfallzeiten):
- Aktualisieren Sie die Edge Microgateway-Konfiguration:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Wobei:
orgist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator).envist eine Umgebung in Ihrer Organisation, z. B. „test“ oder prod).keyist der Schlüssel, der zuvor vom „configure“ zurückgegeben wurde. .secretist der zuvor vom config-Befehl ausführen.
Beispiel
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
Wenn Edge Microgateway beendet ist:
- Starten Sie Edge Microgateway neu:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
Wobei:
orgist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator).envist eine Umgebung in Ihrer Organisation, z. B. „test“ oder prod).keyist der Schlüssel, der zuvor vom „configure“ zurückgegeben wurde. .secretist der zuvor vom config-Befehl ausführen.
Beispiel
edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
Hier ist eine Beispielkonfigurationsdatei. Weitere Informationen zu den Einstellungen der Konfigurationsdatei Siehe Edge Microgateway Konfigurationsreferenz.
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
Umgebungsvariablen festlegen
Die Befehlszeilenbefehle, die Werte für Ihre Edge-Organisation und und der Schlüssel und das Secret, die zum Starten von Edge Microgateway erforderlich sind, in diesen Umgebungsvariablen:
EDGEMICRO_ORGEDGEMICRO_ENVEDGEMICRO_KEYEDGEMICRO_SECRET
Das Festlegen dieser Variablen ist optional. Wenn Sie diese festlegen, müssen Sie ihre Werte nicht angeben. wenn Sie Edge Microgateway über die Befehlszeile konfigurieren und starten.
SSL auf dem Edge Microgateway konfigurieren Server
Sie können den Microgateway-Server für die Verwendung von SSL konfigurieren. Wenn SSL beispielsweise konfiguriert ist, kann APIs über Edge Microgateway mit dem wie hier gezeigt:
https://localhost:8000/myapi
So konfigurieren Sie SSL auf dem Microgateway-Server:
- Generieren oder erhalten Sie ein SSL-Zertifikat und den Schlüssel mit dem Dienstprogramm openssl oder einer anderen Methode.
- Edge Microgateway das Attribut
edgemicro:sslhinzufügen Konfigurationsdatei. Eine vollständige Liste der Optionen finden Sie in der Tabelle unten. Weitere Informationen zu Ändern der Edge Microgateway-Konfiguration finden Sie unter Konfigurationsänderungen vornehmen. Beispiel:
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 - Starten Sie Edge Microgateway neu. Führen Sie die unter Konfigurationsänderungen vornehmen beschriebenen Schritte aus, je nachdem, Konfigurationsdatei, die Sie bearbeitet haben: die Standarddatei oder die Laufzeit-Konfigurationsdatei.
Hier ein Beispiel für den Edgemicro-Abschnitt der Konfigurationsdatei mit konfiguriertem SSL:
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
Im Folgenden finden Sie eine Liste aller unterstützten Serveroptionen:
| Option | Beschreibung |
|---|---|
key |
Pfad zu einer ca.key-Datei im PEM-Format. |
cert |
Pfad zu einer ca.cert-Datei im PEM-Format. |
pfx |
Pfad zu einer pfx-Datei, die den privaten Schlüssel, das Zertifikat und
CA-Zertifikate des Clients im PFX-Format. |
passphrase |
Ein String mit der Passphrase für den privaten Schlüssel oder PFX. |
ca |
Pfad zu einer Datei, die eine Liste vertrauenswürdiger Zertifikate im PEM-Format enthält. |
ciphers |
Ein String, der die zu verwendenden Chiffren beschreibt, getrennt durch ":". |
rejectUnauthorized |
Falls wahr, wird das Serverzertifikat mit der Liste der bereitgestellten Zertifizierungsstellen abgeglichen. Wenn die Bestätigung fehlschlägt, wird ein Fehler zurückgegeben. |
secureProtocol |
Die zu verwendende SSL-Methode. Beispielsweise SSLv3_method, um SSL auf Version 3 zu erzwingen. |
servername |
Servername für die TLS-Erweiterung SNI (Server Name Indication). |
Client-SSL/TLS-Optionen verwenden
Sie können Edge Microgateway beim Herstellen einer Verbindung zum Ziel als TLS- oder SSL-Client konfigurieren Endpunkten. Verwenden Sie in der Microgateway-Konfigurationsdatei das Element "targets", um SSL/TLS festzulegen. Optionen.
Dieses Beispiel enthält Einstellungen, die auf alle Hosts angewendet werden:
targets: ssl: client: key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt passphrase: admin123 rejectUnauthorized: true
In diesem Beispiel werden die Einstellungen nur auf den angegebenen Host angewendet:
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
Hier ist ein Beispiel für TLS:
targets: host: 'myserver.example.com' tls: client: pfx: /Users/myname/twowayssl/ssl/client.pfx passphrase: admin123 rejectUnauthorized: true
Hier ist eine Liste aller unterstützten Clientoptionen:
| Option | Beschreibung |
|---|---|
pfx |
Pfad zu einer pfx-Datei, die den privaten Schlüssel, das Zertifikat und
CA-Zertifikate des Clients im PFX-Format. |
key |
Pfad zu einer ca.key-Datei im PEM-Format. |
passphrase |
Ein String mit der Passphrase für den privaten Schlüssel oder PFX. |
cert |
Pfad zu einer ca.cert-Datei im PEM-Format. |
ca |
Pfad zu einer Datei, die eine Liste vertrauenswürdiger Zertifikate im PEM-Format enthält. |
ciphers |
Ein String, der die zu verwendenden Chiffren beschreibt, getrennt durch ":". |
rejectUnauthorized |
Falls wahr, wird das Serverzertifikat mit der Liste der bereitgestellten Zertifizierungsstellen abgeglichen. Wenn die Bestätigung fehlschlägt, wird ein Fehler zurückgegeben. |
secureProtocol |
Die zu verwendende SSL-Methode. Beispielsweise SSLv3_method, um SSL auf Version 3 zu erzwingen. |
servername |
Servername für die TLS-Erweiterung SNI (Server Name Indication). |
Benutzerdefinierten Authentifizierungsdienst verwenden
Standardmäßig verwendet Edge Microgateway für die OAuth2-Authentifizierung einen Proxy, der auf Apigee Edge bereitgestellt ist.
Dieser Proxy wird bereitgestellt, wenn Sie edgemicro configure zum ersten Mal ausführen. Standardmäßig
Die URL dieses Proxys wird in der Edge Microgateway-Konfigurationsdatei wie folgt angegeben:
authUri: https://myorg-myenv.apigee.net/edgemicro-auth
Wenn Sie Ihren eigenen benutzerdefinierten Dienst für die Authentifizierung verwenden möchten, ändern Sie
Den authUri-Wert in der Konfigurationsdatei, um auf Ihren Dienst zu verweisen. Für
Beispiel: Sie haben einen Dienst, der LDAP zur Bestätigung der Identität verwendet.
Verwalten Protokolldateien
Edge Microgateway protokolliert Informationen über jede Anfrage und Antwort. Protokolldateien bieten nützliche Informationen zur Fehlerbehebung.
Wo werden Protokolldateien gespeichert?
Standardmäßig werden Protokolldateien in /var/tmp gespeichert.
So ändern Sie das Standardprotokoll Dateiverzeichnis
Das Verzeichnis, in dem die Protokolldateien gespeichert sind, wird in der Edge Microgateway-Konfiguration angegeben -Datei. Weitere Informationen finden Sie unter Konfigurationsänderungen vornehmen.
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
Ändern Sie den Wert dir, um ein anderes Protokolldateiverzeichnis anzugeben.
Protokolle an die Konsole senden
Sie können das Logging so konfigurieren, dass Loginformationen an die Standardausgabe und nicht an eine
Protokolldatei. Legen Sie das Flag to_console so auf „true“ fest:
edgemicro: logging: to_console: true
Bei dieser Einstellung werden Logs an den Standard-Ausgang gesendet. Derzeit können Sie Logs nicht an beide senden stdout und in eine Protokolldatei.
Logging-Ebene festlegen
Sie können die folgenden Protokollebenen festlegen: info, warn, und Fehler. Die Informationsebene wird empfohlen. Es protokolliert alle API-Anfragen und Dies ist die Standardeinstellung.
Logintervalle ändern
Sie können diese Intervalle in der Edge Microgateway-Konfigurationsdatei konfigurieren. Weitere Informationen zum Konfigurationsänderungen vornehmen, siehe Konfiguration vornehmen Änderungen.
Folgende konfigurierbare Attribute sind verfügbar:
- stats_log_interval: (Standard: 60) Intervall in Sekunden, wenn die Statistiken wird in die API-Protokolldatei geschrieben.
- rotate_interval: (Standard: 24) Intervall in Stunden, in dem die Protokolldateien gespeichert werden gedreht. Beispiel:
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
Hinweis : Archivierte Protokolldateien werden nicht komprimiert. Zu Beginn des Intervalls wird ein neue Protokolldatei mit einem neuen Zeitstempel erstellt.
Gut Vorgehensweisen bei der Wartung von Logdateien
Da sich Protokolldatei-Daten im Laufe der Zeit ansammeln, empfiehlt Apigee die folgende Vorgehensweise: Best Practices:
- Da Protokolldateien sehr groß werden können, sollten Sie sicherstellen, dass das Protokolldateiverzeichnis ausreichend Speicherplatz. Weitere Informationen finden Sie in den folgenden Abschnitten Speicherort der Protokolldateien und So ändern Sie die Standardprotokolldatei. -Verzeichnis.
- Löschen oder verschieben Sie Protokolldateien mindestens einmal pro Woche in ein separates Archivverzeichnis.
- Wenn Sie mit Ihrer Richtlinie Logs löschen möchten, können Sie mit dem Befehl
edgemicro log -cder Befehlszeile (saubere) ältere Logs entfernen.
Namenskonvention für Protokolldateien
Jede Edge Microgateway-Instanz erzeugt drei Typen von Protokolldateien:
- api - Protokolliert alle Anfragen und Antworten, die über Edge fließen. Microgateway. API-Zähler (Statistiken) und -Fehler werden ebenfalls in dieser Datei protokolliert.
- err – Protokolliert alles, was an stderr gesendet wurde.
- out – Protokolliert alles, was an stdout gesendet wurde.
Dies ist die Namenskonvention:
edgemicro-<Host Name>-<Instance ID>-<Log Type>.log
Beispiel:
edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log
Inhalt der Protokolldatei
Hinzugefügt in: v2.3.3
Standardmäßig lässt der Logging-Dienst die JSON-Daten heruntergeladener Proxys, Produkte und JSON-Dateien weg.
Webtoken (JWT). Wenn Sie diese Objekte an die Protokolldateien ausgeben möchten, legen Sie Folgendes fest:
das DEBUG=*, wenn Sie Edge Microgateway starten. Beispiel:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
Inhalt von „api“ Protokolldatei
Die API Protokolldatei enthält detaillierte Informationen zum Fluss von Anfragen und Antworten. über Edge Microgateway. Die API Protokolldateien haben den folgenden Namen:
edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log
Für jede Anfrage an Edge Microgateway werden vier Ereignisse in der „API“ erfasst Protokoll Datei:
- Eingehende Anfrage vom Client
- Ausgehende Anfrage an das Ziel
- Eingehende Antwort des Ziels
- Ausgehende Antwort an den Client
Jeder dieser Einträge wird in Kurzschreibweise dargestellt, damit das Protokoll Dateien kompakter sein. Hier sind vier Beispieleinträge, die jedes der vier Ereignisse darstellen. Im Protokoll Datei sehen, sehen sie so aus (die Zeilennummern dienen nur als Referenz im Dokument, sie werden nicht in der Protokolldatei).
(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
Sehen wir sie uns im Einzelnen an:
1. Beispiel für eine eingehende Anfrage vom Client:
1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
- 1436403888651 – Unix-Datumsstempel
- info: Hängt vom Kontext ab. Das können Informationen, Warnungen oder Fehler sein. abhängig von der Logebene. Kann Statistiken für einen Statistikeintrag sein, bei Warnungen warnen oder für Fehler.
- req: Kennzeichnet das Ereignis. In diesem Fall muss die Anfrage vom Client.
- m – Das in der Anfrage verwendete HTTP-Verb.
- u – Der Teil der URL nach dem Basispfad.
- h – Die Host- und Portnummer für das Edge Microgateway. Zuhören.
- r – Remote-Host und Port, an den der Client anfordert entstand.
- i – Die Anfrage-ID. Alle vier Ereigniseinträge haben dieselbe ID. Jedes -Anfrage eine eindeutige Anfrage-ID zugewiesen. Das Korrelieren von Protokolleinträgen nach Anfrage-ID kann wertvolle Einblicke in die Latenz des Ziels.
- d – Dauer in Millisekunden seit dem Empfang der Anfrage durch Edge Microgateway. Im obigen Beispiel ist die Antwort des Ziels auf Anfrage 0 eingegangen nach 7 Millisekunden (Zeile 3) und die Antwort wurde nach weiteren 4 Millisekunden (Zeile 4). Mit anderen Worten, die gesamte Anfragelatenz betrug 11 Millisekunden, welche 7 Millisekunden vom Ziel und 4 Millisekunden vom Edge Microgateway erfasst wurden selbst.
2. Beispiel einer ausgehenden Anfrage an das Ziel:
1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
- 1436403888651 – Unix-Datumsstempel
- info: Hängt vom Kontext ab. Das können Informationen, Warnungen oder Fehler sein. abhängig von der Logebene. Kann Statistiken für einen Statistikeintrag sein, bei Warnungen warnen oder für Fehler.
- treq: Kennzeichnet das Ereignis. In diesem Fall ist dies die Zielanfrage.
- m – HTTP-Verb, das in der Zielanfrage verwendet wird.
- u – Der Teil der URL nach dem Basispfad.
- h – Host und Portnummer des Back-End-Ziels.
- i – Die ID des Logeintrags. Diese wird für alle vier Veranstaltungseinträge freigegeben. ID.
3. Beispiel einer eingehenden Antwort des Ziels
1436403888672 info tres s=200, d=7, i=0
1436403888651 – Unix-Datumsstempel
- info: Hängt vom Kontext ab. Das können Informationen, Warnungen oder Fehler sein. abhängig von der Logebene. Kann Statistiken für einen Statistikeintrag sein, bei Warnungen warnen oder für Fehler.
- tres: Kennzeichnet das Ereignis. in diesem Fall die Zielantwort.
- s – HTTP-Antwortstatus.
- d – Dauer in Millisekunden Die für den API-Aufruf vom das Ziel zu erreichen.
- i – Die ID des Logeintrags. Diese wird für alle vier Veranstaltungseinträge freigegeben. ID.
4. Beispiel für eine ausgehende Antwort an den Kunden
1436403888676 info res s=200, d=11, i=0
1436403888651 – Unix-Datumsstempel
- info: Hängt vom Kontext ab. Das können Informationen, Warnungen oder Fehler sein. abhängig von der Logebene. Kann Statistiken für einen Statistikeintrag sein, bei Warnungen warnen oder für Fehler.
- res: Kennzeichnet das Ereignis. In diesem Fall wird die Antwort auf die Client.
- s – HTTP-Antwortstatus.
- d – Dauer in Millisekunden Dies ist die Gesamtzeit, die durch den API-Aufruf, einschließlich der von der Ziel-API verbrauchten Zeit und der von Edge benötigten Zeit Microgateway selbst.
- i – Die ID des Logeintrags. Diese wird für alle vier Veranstaltungseinträge freigegeben. ID.
Zeitplan für Logdateien
Die Protokolldateien werden im durch rotate_interval (rotate_interval) enthalten. Einträge werden bis zum Rotationsintervall derselben Protokolldatei hinzugefügt verfällt. Bei jedem Neustart von Edge Microgateway erhält es jedoch eine neue UID und erstellt ein neuen Satz Protokolldateien mit dieser UID. Siehe auch Gute Vorgehensweisen bei der Wartung von Logdateien.
Edge Microgateway-Konfiguration Referenz
Standort des Konfigurationsdatei
Die in diesem Abschnitt beschriebenen Konfigurationsattribute befinden sich im Edge Microgateway. Konfigurationsdatei. Weitere Informationen finden Sie unter Konfigurationsänderungen vornehmen.
Edge_config-Attribute
Mit diesen Einstellungen wird die Interaktion zwischen der Edge Microgateway-Instanz und Apigee Edge
- bootstrap: (Standardeinstellung: keine) Eine URL, die auf einen Edge verweist.
Microgateway-spezifischer Dienst, der auf Apigee Edge ausgeführt wird. Edge Microgateway verwendet diesen Dienst, um
mit Apigee Edge kommunizieren können. Diese URL wird zurückgegeben, wenn Sie den Befehl zum Generieren des
Paar aus öffentlichem/privatem Schlüssel:
edgemicro genkeys. Weitere Informationen finden Sie unter Einstellungen Edge Microgateway konfigurieren, um weitere Informationen zu erhalten. - jwt_public_key: (Standardeinstellung: none) Eine URL, die auf das Edge Microgateway verweist Proxy, der in Apigee Edge bereitgestellt wird. Dieser Proxy dient als Authentifizierungsendpunkt für Ausstellen signierter Zugriffstokens an Clients Diese URL wird zurückgegeben, wenn Sie den Befehl für Stellen Sie den Proxy edgemicro configure bereit. Weitere Informationen finden Sie unter Einstellungen Edge Microgateway konfigurieren, um weitere Informationen zu erhalten.
Edgemicro-Attribute
Mit diesen Einstellungen wird der Edge Microgateway-Prozess konfiguriert.
- port: (Standard: 8000) Die Portnummer, auf der das Edge Microgateway verwendet wird. Prozessüberwachung.
- max_connections: (Standard: -1) Gibt die maximale Anzahl von Verbindungen an
gleichzeitig eingehende Verbindungen, die Edge Microgateway empfangen kann. Wenn diese Nummer gleich
wird der folgende Status zurückgegeben:
res.statusCode = 429; // Too many requests
- max_connections_hard: (Standard: -1) Die maximale Anzahl gleichzeitiger Verbindungen. Anforderungen, die Edge Microgateway empfangen kann, bevor die Verbindung unterbrochen wird. Diese Einstellung soll Denial-of-Service-Angriffe verhindern. Legen Sie dafür eine Zahl fest, die größer als max_connections.
-
logging:
<ph type="x-smartling-placeholder">
- </ph>
-
level: (Standard: Fehler)
<ph type="x-smartling-placeholder">
- </ph>
- Info - Protokolliert alle Anfragen und Antworten, die durch eine Edge Microgateway-Instanz
- warn: protokolliert nur Warnmeldungen.
- error – protokolliert nur Fehlermeldungen.
- dir: (Standard: /var/tmp) Das Verzeichnis, in dem sich die Protokolldateien befinden. gespeichert sind.
- stats_log_interval: (Standard: 60) Intervall in Sekunden, wenn die Statistiken wird in die API-Protokolldatei geschrieben.
- rotate_interval: (Standard: 24) Intervall in Stunden, in dem die Protokolldateien gespeichert werden gedreht.
-
level: (Standard: Fehler)
<ph type="x-smartling-placeholder">
- plugins: Plug-ins bieten Edge Microgateway Funktionen. Weitere Informationen zur Entwicklung von Plug-ins, siehe Entwicklung benutzerdefinierter .
- dir: Ein relativer Pfad vom ./gateway-Verzeichnis zum ./plugins-Verzeichnis oder einen absoluten Pfad angeben.
- Sequenz: Eine Liste der Plug-in-Module, die dem Edge Microgateway hinzugefügt werden Instanz. Die Module werden in der hier angegebenen Reihenfolge ausgeführt.
-
debug: Fügt dem Edge Microgateway-Prozess das Remote-Debugging hinzu.
- port: Die Portnummer, die überwacht werden soll. Richten Sie beispielsweise Ihren IDE-Debugger ein. um diesen Port zu überwachen.
- args: Argumente für den Debug-Prozess. Beispiel:
args --nolazy
- config_change_poll_interval: (Standard: 600 Sekunden) Edge Microgateway
lädt regelmäßig eine neue Konfiguration und führt eine Aktualisierung durch, falls sich etwas geändert hat. Das Polling
erfasst alle in Edge vorgenommenen Änderungen (Änderungen an Produkten, Microgateway-fähigen Proxys usw.)
sowie Änderungen an der lokalen Konfigurationsdatei.
- disable_config_poll_interval: (Standard: false) Festlegen auf true, um die automatische Änderung zu deaktivieren Polling.
Headerattribute
Mit diesen Einstellungen wird festgelegt, wie bestimmte HTTP-Header behandelt werden.
- x-forwarded-for: (Standardeinstellung: true) Auf „false“ setzen, um zu verhindern x-forwarded-for-Header, die an das Ziel übergeben werden sollen.
- x-forwarded-host: (Standardeinstellung: true) Auf „false“ setzen, um zu verhindern x-forwarded-host-Header, die an das Ziel übergeben werden sollen.
- x-request-id: (Standard: true) Auf „false“ setzen, um zu verhindern x-request-id-Header, die an das Ziel übergeben werden sollen.
- x-response-time: (Standard: true) Auf „false“ setzen, um zu verhindern x-response-time-Header, die an das Ziel übergeben werden sollen.
- via: (Standard: true) Auf „false“ setzen, um zu verhindern, dass Via-Header in an das Ziel übergeben wird.
OAuth-Attribute
Diese Einstellungen konfigurieren, wie die Clientauthentifizierung von Edge Microgateway erzwungen wird.
- allowNoAuthorization (Standardeinstellung: false) Wenn die Richtlinie auf „true“ gesetzt ist, werden API-Aufrufe Edge Microgateway ohne Autorisierungsheader passieren darf. Setzen auf false, um einen Autorisierungsheader anzufordern (Standardeinstellung).
- allowInvalidAuthorization: (Standardeinstellung: false) Wenn die Richtlinie auf „true“ gesetzt ist, werden API-Aufrufe übergeben werden, wenn das im Autorisierungsheader übergebene Token ungültig oder abgelaufen ist. Festlegen auf „false“, um gültige Tokens anzufordern (Standardeinstellung).
- authorization-header: (Standard: Authorization: Bearer) Dieser Header wird verwendet, um das Zugriffstoken an Edge Microgateway senden. Sie können die Standardeinstellung ändern, Das Ziel muss den Autorisierungsheader für einen anderen Zweck verwenden.
- api-key-header: (Standard: x-api-key) Name des Headers oder der Abfrage Parameter zum Übergeben eines API-Schlüssels an Edge Microgateway. Siehe auch API-Schlüssel verwenden.
- keepAuthHeader: (Standard: false) Wenn auf „true“ gesetzt, wird der Autorisierungsheader die in der Anfrage gesendet wurden, an das Ziel übergeben (wird beibehalten).
Plug-in-spezifisch Attribute
Einzelheiten zu den konfigurierbaren Attributen für die einzelnen Plug-ins finden Sie unter Plug-ins verwenden.
Proxys filtern
Sie können filtern, welche Microgateway-fähigen Proxys eine Edge Microgateway-Instanz verarbeitet.
Beim Start von Edge Microgateway werden alle Microgateway-fähigen Proxys im
Organisation zugeordnet ist. Verwenden Sie die folgende Konfiguration, um einzuschränken, welche Proxys den
Microgateway verarbeitet. Diese Konfiguration schränkt beispielsweise die Proxys des Microgateways ein
werden auf drei Elemente verarbeitet: edgemicro_proxy-1, edgemicro_proxy-2,
und edgemicro_proxy-3:
proxies: - edgemicro_proxy-1 - edgemicro_proxy-2 - edgemicro_proxy-3
Analysedaten maskieren
Die folgende Konfiguration verhindert, dass in Edge Informationen zum Anforderungspfad angezeigt werden Analytics. Fügen Sie der Microgateway-Konfiguration Folgendes hinzu, um den Anfrage-URI zu maskieren und/oder Anfragepfad. Der URI besteht aus dem Hostnamen und den Pfadteilen der Anfrage.
analytics: mask_request_uri: 'string_to_mask' mask_request_path: 'string_to_mask'
Fehlerbehebung und Fehlerbehebung
Verbindung zu einem Debugger herstellen
Sie können Edge Microgateway mit einem Debugger wie node-inspector ausführen. Dies ist nützlich für und Debugging benutzerdefinierter Plug-ins.
- Starten Sie Edge Microgateway im Debug-Modus neu. Fügen Sie dazu
DEBUG=*zu an den Anfang des Startbefehls setzen. Beispiel:
DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
- Starten Sie den Debugger und richten Sie ihn so ein, dass für den Fehlerbehebungsprozess die Portnummer überwacht wird.
- Sie können nun den Edge Microgateway-Code durchlaufen, Haltepunkte einstellen, Ausdrücke beobachten, und so weiter.
Sie können Node.js-Standard-Flags für den Debug-Modus angeben. Beispiel:
--nolazy hilft beim Debuggen von asynchronem Code.
Protokolldateien prüfen
Prüfen Sie bei Problemen die Protokolldateien auf Ausführungsdetails und Fehler. Informationen. Weitere Informationen finden Sie unter Protokolldateien verwalten.
API-Schlüsselsicherheit verwenden
API-Schlüssel bieten einen einfachen Mechanismus zum Authentifizieren von Clients, die Anfragen an Edge stellen Microgateway. Sie können einen API-Schlüssel erhalten, indem Sie den Wert des Consumer-Keys (auch Client-ID genannt) kopieren von einem Apigee Edge-Produkt, das den Edge Microgateway-Authentifizierungs-Proxy enthält.
Zwischenspeichern von Schlüsseln
API-Schlüssel werden gegen Inhabertokens ausgetauscht, die im Cache gespeichert werden. Du kannst das Caching deaktivieren, indem du
den Cache-Control: no-cache-Header bei eingehenden Anfragen an Edge
Microgateway.
Erforderliche Problemumgehung, wenn Sie Apigee verwenden Edge Private Cloud Version 15.07
Wenn Sie die API-Schlüsselsicherheit in Edge Private Cloud 15.07 verwenden möchten, müssen Sie die Problemumgehung implementieren beschrieben. Für die Problemumgehung müssen Sie eine Zeile in einer Node.js-Datei in den Proxy edgemicro-auth und starten Sie Edge Microgateway neu.
Implementieren Sie die Problemumgehung in der Edge-Benutzeroberfläche
Dazu müssen Sie den Befehl edgemicro start noch einmal ausführen. wenn Sie fertig sind.
- Öffnen Sie in der Edge-Benutzeroberfläche den Edgemicro-auth-Proxy im Proxy-Editor.
- Wählen Sie den Tab Entwickeln aus.
- Öffnen Sie im Navigator unter „Scripts“ die JavaScript-Datei. namens verify-api-key.js.
- Zu Zeile 109:
api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
- Ersetzen Sie den Teil nach „api_product_list:“. mit einer „hartcodierten“ Array des Produkts
Namen, die mit den zu verwendenden API-Schlüsseln verknüpft sind. Wenn Sie beispielsweise
einen Schlüssel aus einer Entwickler-App verwenden, die „Product-1“ enthält und „Produkt-2“ dann codieren Sie die
in etwa so:
api_product_list: ["Product-1", "Product-2"]
- Klicken Sie auf „Speichern“.
- Führen Sie den Befehl edgemicro start aus.
In der lokalen Edge Microgateway-Codebasis implementieren
Dazu müssen Sie den Edgemicro-Befehl configure noch einmal ausführen. gefolgt von edgemicro start.
- Öffnen Sie das
Datei
<microgateway-root-dir>/edge/auth/api/controllers/verify-api-key.js, Dabei ist<microgateway-root-dir>das Verzeichnis, in dem Edge Microgateway wurde beim Ausführen des Befehlsnpm installinstalliert. - Zu Zeile 109:
api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
- Ersetzen Sie den Teil nach „api_product_list:“. mit einer „hartcodierten“ Array des Produkts
Namen, die mit den API-Schlüsseln verknüpft sind, die Sie verwenden möchten. Wenn Sie beispielsweise
einen Schlüssel aus einer Entwickler-App verwenden, die „Product-1“ enthält und „Produkt-2“ dann codieren Sie die
in etwa so:
api_product_list: ["Product-1", "Product-2"]
- Speichern Sie die Datei.
- Führen Sie den Befehl edgemicroconfigure aus. (Oder edgemicro privateconfigure, wenn Sie sich in Edge Private Cloud befinden.) Mit diesem Befehl wird der Edgemicro-auth-Proxy noch einmal bereitgestellt.
- Führen Sie den Befehl edgemicro start aus.
OAuth2-Tokensicherheit verwenden
Details zur Verwendung eines OAuth-Tokens mit Proxy-Anfragen finden Sie unter Sichere Edge Microgateway
Verwendung einen API-Schlüssel
Weitere Informationen zur Verwendung von API-Schlüsseln mit Proxyanfragen finden Sie unter Sichere Edge Microgateway
<ph type="x-smartling-placeholder">API-Schlüsselnamen konfigurieren
Standardmäßig ist x-api-key der Name, der für den Header oder die Abfrage des API-Schlüssels verwendet wird
. Sie können diese Standardeinstellung in der Konfigurationsdatei ändern, wie unter Konfigurationsänderungen vornehmen erläutert. Für
Beispiel, um den Namen in apiKey zu ändern:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false api-key-header: apiKey