Ein privates Jitterbit-API-Gateway unter Linux installieren
Übersicht
Diese Seite erklärt, wie man ein privates API-Gateway installiert, konfiguriert und testet.
Systemanforderungen
In diesem Abschnitt werden die Mindestanforderungen für einen API-Gateway-Host aufgeführt.
Hardware
| CPU | Intel x86_64 (amd64) Quad-Core, 8 GB Speicher. |
| Disk | 50 GB, NTFS (Windows), ext2, ext4, xfs (Linux), 50 MB/s Transfergeschwindigkeit. |
| Network | Hochgeschwindigkeits-Internetverbindung. |
Wichtig
Die Festplattengeschwindigkeit und der Speicherplatz sind kritische Komponenten des privaten API-Gateways, da Request- und Response-Payloads während API-Transaktionen auf dem Server gespeichert werden.
Betriebssysteme
| OS | Version | Unterstützte private API-Gateway-Versionen |
|---|---|---|
| Linux | Red Hat Enterprise Linux 9 | Aktuell unterstützte Versionen |
| Amazon Linux 2023 | Aktuell unterstützte Versionen | |
| Ubuntu 24.04 LTS | Aktuell unterstützte Versionen | |
| Docker | Aktuell unterstützte Versionen |
Hinweis
Zusätzliche Distributionen, die oben nicht aufgeführt sind, funktionieren möglicherweise, werden aber von Jitterbit nicht unterstützt.
Netzwerk
-
Eine Subdomain oder ein Domänenname, der auf den Server verweist (beispielsweise
mysubdomain.example.com).Ab Version 12.13 des privaten API-Gateways kann der Domänenname Multibyte-Zeichen enthalten. Der Befehl
jitterbit-api-gateway-configkonvertiert den Domänennamen in Punycode für die DNS-Validierung und den Self-Test, weshalb man die Punycode-Form des Domänennamens in der DNS- oder Hosts-Datei registrieren sollte. Das SSL-Zertifikat sollte ebenfalls für die Punycode-Form angefordert werden. -
Ein gültiges SSL-Zertifikat für die Subdomain von einer anerkannten Zertifizierungsstelle; kein selbstsigniertes Zertifikat verwenden.
Das Zertifikat sollte aus zwei Dateien bestehen: eine CRT-Datei (
.crt) für das signierte Zertifikat und eine KEY-Datei (.key) für den privaten Schlüssel. Diese sollten im PEM-Format vorliegen, das ein NGINX-Server versteht. (Manchmal unterscheiden sich die Dateierweiterungen; häufig sind die Erweiterungen CRT, PEM und CER austauschbar.) Es ist auch möglich, dass die beiden Dateien in einer einzigen PFX-Datei kombiniert sind. Extrahiert man in diesem Fall die beiden Dateien mit OpenSSL.Tipp
Kostenlose SSL-Zertifikate sind von Anbietern wie Let's Encrypt erhältlich.
-
SSH-Konnektivität.
Konten
Die Harmony muss eine Rolle mit der Berechtigung Admin haben. (Agent Install Berechtigung allein ist nicht ausreichend.)
Empfehlungen
Beim Einrichten des API-Gateway-Hosts sollte man die empfohlenen Punkte befolgen:
-
Den Host nicht mit anderen Nicht-System-Anwendungen gemeinsam nutzen.
-
Den Host für optimale Leistung konfigurieren.
-
Die folgenden zusätzlichen Pakete für den Host-Typ installieren:
-
Red Hat Enterprise Linux (RHEL): Bei Cloud-Hosting einen Compute-Knoten mit den folgenden Paketgruppen verwenden:
- Debugging Tools.
- Hardware Monitoring Utilities.
- Compatibility Libraries.
- Development Tools.
- Security Tools.
-
Debian, Ubuntu: Eine Standardinstallation verwenden und die folgenden zusätzlichen Pakete auswählen:
- OpenSSH.
-
-
Netzwerk: Port 443 (HTTPS) öffnen. Die folgenden Befehle können hierfür verwendet werden:
firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reloadufw allow 443/tcp
Private API Gateway installieren und konfigurieren
Führen Sie diese Schritte mit einem Konto mit Root-Berechtigung aus, um ein Private API Gateway zu installieren und zu konfigurieren:
-
Laden Sie eines der folgenden Private API Gateway-Softwarepakete von der Harmony Portal-Seite Downloads herunter und kopieren Sie es auf den API Gateway-Host:
-
Linux RPM: Die
.rpm-Paketdatei für die Installation auf Red Hat oder Amazon Linux. -
Linux Debian: Die
.deb-Paketdatei für die Installation auf Debian oder Ubuntu Linux.
-
-
Führen Sie diese Befehle für Ihre Kombination aus Betriebssystem und Gateway-Version aus und ersetzen Sie
x.x.x.x(.deb) oderx.x.x-x(.rpm) durch die heruntergeladene Versionsnummer:yum update yum install jitterbit-api-gateway-x.x.x-x.x86_64.rpmyum update yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm yum install jitterbit-api-gateway-x.x.x-x.x86_64.rpmapt-get update apt-get install libzzip-dev libyaml-dev apt --fix-broken install apt install python dpkg --install jitterbit-api-gateway-x.x.x.x.amd64.debapt-get update apt-get -y install libgeoip-dev apt --fix-broken install ln -s /usr/bin/python2.7 /usr/bin/python dpkg --install jitterbit-api-gateway-x.x.x.x.amd64.debapt-get update apt-get install libzzip-dev libyaml-dev libpcre3 apt --fix-broken install dpkg --install jitterbit-api-gateway-x.x.x.x.amd64.deb -
Ab Version 11.49 fügt der Installationsprozess die folgende
logrotate-Konfigurationsdatei für NGINX-Logs hinzu:/etc/logrotate.d/nginx(Optional) Öffnen Sie diese Datei, überprüfen Sie die Einstellungen und passen Sie sie nach Bedarf an.
-
Kopieren und benennen Sie die Zertifikatsdateien mit den folgenden Befehlen um:
cp ca.crt /usr/local/openresty/nginx/ssl/nginx.crt cp ca.key /usr/local/openresty/nginx/ssl/nginx.key -
Fügen Sie die Zertifikatsdateien zum Jitterbit Java KeyStore hinzu.
-
Führen Sie den folgenden Befehl aus und beantworten Sie dann die Fragen:
jitterbit-api-gateway-configTipp
Für Hilfe zum Befehl
jitterbit-api-gateway-configführen Sie ihn mit der Option--helpaus.Wichtige Hinweise
-
Die von Ihnen bereitgestellten Informationen werden in der Datei
/usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yamlgespeichert. In dieser Datei sind Ihr Harmony-Benutzername und -Passwort verschlüsselt, aber der Benutzername und das Passwort des Proxy-Servers sind nur base64-codiert. Sie sollten sicherstellen, dass diese Datei die entsprechenden Berechtigungen hat, um zu verhindern, dass andere Benutzer diese Werte lesen. -
Wenn Sie erstmals ein Private API Gateway mit Harmony-Anmeldedaten konfigurieren, wird automatisch ein neuer, separater API Gateway-Benutzer mit einem nicht ablaufenden Passwort erstellt, der in der Organisation mit einer Administrator-Rolle erstellt wird. Dieser Benutzer ist nicht mit einer E-Mail-Adresse verknüpft, kann sich nicht am Harmony Portal anmelden und wird nur für das API Gateway verwendet. Die Anmeldedaten für diesen Benutzer werden zur Datei
gatewayconfig.yamlhinzugefügt. -
Ab API Gateway Version 11.32 werden Sie beim Neukonfigurieren des Gateways gefragt:
Would you like to generate a new Gateway credentials and overwrite existing ones? (y/N):Wenn Sie
Nantworten, werden die vorhandenen Benutzeranmeldedaten verwendet. Wenn SieYantworten, wird ein neuer Benutzer erstellt. -
API Gateway-Benutzer werden auf der Management Console-Seite User Management in der Form
<GatewayUser>_<orgID>_<ID>angezeigt. Wenn derselbe Benutzer das Gateway in derselben Organisation neu konfiguriert, wird der Name des Gateway-Benutzers mit einem Unterstrich und einer hochzählenden Nummer wie_1ergänzt.
-
Beispielausgabe
Jitterbit Private Gateway Configuration
Enter your Harmony user name:
Enter your Harmony password:
Are you an NA, EMEA or APAC customer (Enter one, NA , EMEA, or APAC):
Would you like to enable a proxy (Y/N)?
Enter your proxy server uri (e.g. http://192.168.1.100:808):
Enter your proxy username:
Enter your proxy password:
Connecting to Harmony...
NOTE: Default Jitterbit Services URL for NA customers is https://services.jitterbit.net/apis
NOTE: Default Jitterbit Services URL for EMEA customers is https://services.jitterbit.eu/apis
NOTE: Default Jitterbit Services URL for APAC customers is https://services.jitterbit.cc/apis
Enter Jitterbit Services URL (press enter for default):
Enter your Jitterbit Organization ID (press enter for default):
Creating Private Gateway User...
Here is the content of the DNS file that will be used for the API gateway:
The file is located here: /usr/local/openresty/nginx/conf/dnsservers.conf
resolver 127.0.1.1 valid=300s ipv6=off;
Here are the nameservers from /etc/resolve.conf:
nameserver 127.0.1.1
Would you like to use the resolv.conf DNS nameservers rather than the default nginx DNS servers? (Y/N)?
Would you like to manually add the DNS server the API gateway DNS configuration (Y/N)?
Please enter IP address or domain name. Press enter to finish:
Gateway Configuration file modified.
If you have an SSL Certificate, copy the SSL Certificate file to
/usr/local/openresty/nginx/ssl/nginx.crt
and the SSL Certificate key file to
/usr/local/openresty/nginx/ssl/nginx.key
Would you like the Gateway Server started? (Y/N)?
. . .
-
Sie können jetzt auf die APIs Ihrer Organisation über das private API-Gateway zugreifen.
Hinweis
Zusätzlich zum Zugriff auf die APIs der Organisation mit Ihren privaten API-URLs können Sie weiterhin Jitterbit-URLs verwenden. Um den Zugriff auf Jitterbit-URLs zu blockieren, kann eine Operation zunächst überprüfen, ob eine URL vom privaten API-Gateway stammt, und abbrechen, falls nicht. Das folgende Beispiel zeigt einen Test in der NA-Region (für EMEA- und APAC-Regionen ersetzen Sie
jitterbit.euoderjitterbit.ccentsprechend):<trans> if( index($jitterbit.api.request.headers.fulluri,'jitterbit.net') >0, $jitterbit.api.response = 'Public API gateway not permitted'; CancelOperationChain($jitterbit.api.response); ) </trans>Ein erfolgreicher Start des privaten API-Gateways sieht ähnlich wie folgt aus:
Beispiel-Startup
. . . nginx: [alert] [lua] startup.lua:0: (): ___ ___ ___ __ __ ___ | | | | |__ |__) |__) | | \__/ | | | |___ | \ |__) | | API gateway Version: x.x.x.x Build Date: 20XX/XX/XX 00:00 Loading Libraries... Libraries loaded successfully! Loading configuration... Configuration file: /usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml Configuration file successfully loaded, parsing values... ************************************************************ InfluxDB output not configured. Loggly output not configured. ELK output not configured. Configuration parsing successful! Doing startup checks... Checks completed, no errors. ------------------------------------------------------------ Jitterbit Services URL: https://services.jitterbit.net/apis Gateway will login as: gatewayuser Organization ID set to: 123456 Current Time: 20XX-XX-XX 00:00:00 Gateway Startup Successful! Gateway server started
(Optional) Unterstützte SSL-Protokolle und Cipher ändern
Bei Bedarf lassen sich unterstützte SSL-Protokolle und Cipher in der lokalen Konfigurationsdatei /usr/local/openresty/nginx/conf/onpremise.conf mit den Direktiven ssl_protocols und ssl_ciphers ändern. Dies kann durchgeführt werden, um die Unterstützung für ein Standardprotokoll oder einen Standardcipher je nach Ihren Sicherheitsanforderungen zu entfernen. Beispiel:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
Wichtig
Wenn Sie Änderungen an der lokalen Konfigurationsdatei vornehmen, erstellen Sie eine Sicherungskopie der Datei. Änderungen bleiben nicht erhalten, wenn Sie ein privates API-Gateway aktualisieren.
(Optional) Maximale unterstützte Subdomainebenen für einen benutzerdefinierten FQDN ändern
Der vollständig qualifizierte Domänenname (FQDN) eines privaten API-Gateways kann mehrere Subdomainebenen enthalten, z. B. mysubdomain.department.region.example.com. Seit Private-API-Gateway Version 12.9 unterstützt ein privates API-Gateway standardmäßig FQDNs mit bis zu 10 Subdomainebenen. Der Schlüssel MaxDomainParts ist standardmäßig nicht in gatewayconfig.yaml vorhanden.
Wenn Ihr benutzerdefinierter FQDN mehr als 10 Subdomainebenen erfordert, fügen Sie den Schlüssel MaxDomainParts manuell zur Datei hinzu und geben Sie die erforderliche Anzahl der Ebenen an. Beispiel:
MaxDomainParts: 15
Nach der Aktualisierung von gatewayconfig.yaml führen Sie jitterbit-api-gateway-config aus, um die Änderung anzuwenden.
(Optional) Payload-URL-Präfix für ALB-Unterstützung ändern
Wenn eine Multi-Gateway-Umgebung hinter einem Anwendungslastverteiler (ALB) wie AWS ALB konfiguriert wird, lässt sich das Protokoll für das Payload-Routing in der Datei /usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml durch Änderung der Direktive payloadurlprefix ändern. Beispiel:
payloadurlprefix: https://
Das private API-Gateway testen
Führen Sie folgende Schritte durch, um das Gateway zu testen:
-
Richten Sie eine gültige API Manager API in der mit dem privaten API-Gateway verknüpften Organisation und eine API Manager API-Service-URL im Format
https://JBExample123456.jitterbit.net/Development/1/customerein. -
Testen Sie die API. Wenn sie ordnungsgemäß funktioniert, verwenden Sie sie zum Testen einer privaten API-URL, indem Sie die Jitterbit-Domäne und Subdomänen durch Ihre eigenen ersetzen und den gleichen Pfad beibehalten. (Wenn es sich um eine Proxy-Konfiguration handelt, hängen Sie
?debugan die URL an.)Beispiel
Wenn Ihre Subdomäne
mysubdomainist und die Domäneexampleist, lautet die Basis-URLmysubdomain.example.com, und Sie würden die API-Service-URLhttps://JBExample123456.jitterbit.net/Development/1/customerin die private API-URLhttps://mysubdomain.example.com/Development/1/customerändern. Um eine private Proxy-API-URLhttps://mysubdomain.example.com/Development/1/customerzu testen, verwenden Siehttps://mysubdomain.example.com/Development/1/customer?debug. Bei erfolgreicher Ausführung ist die AusgabeProxy enabled: PROXY_URI, wobeiPROXY_URIder während der Konfiguration angegebene Wert ist.
Self-Test für Private-API-Gateway
Um einen Gateway-Self-Test auszuführen, verwenden Sie die Option --test für den Befehl jitterbit-api-gateway-config. Nach erfolgreicher Anmeldung führt dieser automatisch eine Reihe von Tests durch, um die korrekte Konfiguration sicherzustellen. Dies umfasst das Importieren eines integrierten Projekts und einer API sowie den Aufruf der API über das Gateway. (Eine API-URL muss in Ihrem Abonnement verfügbar sein, damit der Self-Test erfolgreich ist.)
Hinweis
Die API wird mit aktivierter Option Nur SSL erstellt, daher wird der Zugriff auf die Gateway-URL nur über HTTPS getestet. Um Zugriff über HTTP zu ermöglichen, können Sie die Option Nur SSL in der API-Konfiguration nach der Erstellung der Test-API deaktivieren.
Private-API-Gateway aktualisieren
Führen Sie diese Schritte aus, um ein Private-API-Gateway auf eine neuere Version zu aktualisieren:
-
Laden Sie die neueste Version der Private-API-Gateway-Software über die Seite Downloads herunter. (Falls erforderlich, können ältere Versionen der Software von Jitterbit Support bezogen werden.)
Tipp
Ein Private-API-Gateway auf eine neuere Version zu aktualisieren, ist möglich, ohne die vorherige Gateway-Version zu deinstallieren, auch beim Upgrade von 10.x zu 11.x oder 11.x zu 12.x.
-
Erstellen Sie ein Backup der Konfigurationsdatei des Private-API-Gateways
/usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml. -
Falls Sie Änderungen an den unterstützten SSL-Protokollen und Verschlüsselungen vorgenommen haben, erstellen Sie ein Backup der On-Premise-Konfigurationsdatei
/usr/local/openresty/nginx/conf/onpremise.conf. -
Bei der Aktualisierung von einer Private-API-Gateway-Version 10.61 oder älter erstellen Sie ein Backup der SSL-Zertifikatsdateien. Die SSL-Zertifikatsdateien des Private-API-Gateways befinden sich in diesen Verzeichnissen:
/usr/local/openresty/nginx/ssl/nginx.crt /usr/local/openresty/nginx/ssl/nginx.keyHinweis
Für Private-API-Gateway-Version 10.62 oder später ist es nicht erforderlich, ein Backup der SSL-Zertifikatsdateien zu erstellen oder diese zu kopieren. Diese Dateien werden während eines Upgrades beibehalten.
-
Führen Sie die Installationsschritte aus. (Die Befehle zum Aktualisieren eines Private-API-Gateways sind identisch mit denen für die Installation.)
-
Kopieren Sie das Backup der Konfigurationsdatei des Private-API-Gateways, der On-Premise-Konfigurationsdatei (falls zutreffend) und der SSL-Zertifikatsdateien (falls zutreffend) in die neue Private-API-Gateway-Installation.
-
(Optional) Führen Sie
jitterbit-api-gateway-configaus, um zusätzliche Konfigurationsänderungen vorzunehmen. Dies ist möglich, wenn Sie neue Konfigurationseinstellungen verwenden, die in einer neueren Version des Private-API-Gateways verfügbar sind. -
Führen Sie diesen Befehl aus, um das Private-API-Gateway neu zu starten:
jitterbit-api-gateway-config -s restart
Private-API-Gateway deinstallieren
Um ein Private-API-Gateway zu deinstallieren, führen Sie diese Befehle aus:
yum remove jitterbit-api-gateway
rm -rf /usr/local/jitterbit-api-gateway/
rm -rf /usr/local/openresty/
rm -rf /usr/local/hostedfiles/
apt-get remove jitterbit-api-gateway
apt-get purge jitterbit-api-gateway
rm -rf /usr/local/jitterbit-api-gateway/
rm -rf /usr/local/openresty/
rm -rf /usr/local/hostedfiles/
Befehl jitterbit-api-gateway-config
Der Befehl jitterbit-api-gateway-config ermöglicht Ihnen, ein Jitterbit Private-API-Gateway zu verwalten.
Übersicht
jitterbit-api-gateway-config [OPTIONS]
Optionen
-
-h,--help: Zeigt eine Hilfemeldung an und beendet das Programm. -
-u USER,--user=USER: Jitterbit-Harmony-Benutzername. -
-p PASSWORD,--password=PASSWORD: Jitterbit-Harmony-Passwort. -
-o ORGANIZATION_ID,--organizationId=ORGANIZATION_ID: Jitterbit-Harmony-Organisations-ID. -
-e ServiceUrl, --serviceUrl=ServiceUrl: Jitterbit-Services-URL. -
-s COMMAND, --server=COMMAND: Gültige Werte fürCOMMAND:-
start: Gateway starten. -
stop: Gateway beenden. -
restart: Gateway neu starten.
-
-
-d,--dns: DNS-Server interaktiv konfigurieren. -
--proxyEnabled=true | false: Proxy aktivieren (true) oder deaktivieren (false). -
--proxyUri=PROXY_URI: Proxy-Server-URI. -
--proxyUser=PROXY_USER: Proxy-Server-Benutzername. -
--proxyPassword=PROXY_PASSWORD: Passwort des Proxy-Servers. -
-t,--test: Selbsttests ausführen. -
--debug: Debugausgabe für Selbsttests aktivieren. -
--noColor: Terminalfarben deaktivieren.