Installieren Sie ein privates Jitterbit-API-Gateway unter Linux
Übersicht
Diese Seite erklärt, wie Sie ein privates API-Gateway installieren, konfigurieren und testen.
Systemanforderungen
Dieser Abschnitt enthält die Mindestanforderungen für einen API-Gateway-Host.
Hardware
| CPU | Intel x86_64 (amd64) Quad-Core, 8 GB Speicher. |
| Disk | 50 GB, NTFS (Windows), ext2, ext4, xfs (Linux), 50 MB/s Übertragungsgeschwindigkeit. |
| 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 trotzdem, werden aber von Jitterbit nicht unterstützt.
Netzwerk
-
Eine Subdomain oder ein Domänenname, der auf den Server verweist (z. B.
mysubdomain.example.com). -
Ein gültiges SSL-Zertifikat für die Subdomain von einer anerkannten Zertifizierungsstelle; verwenden Sie kein selbstsigniertes Zertifikat.
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 verstehen kann. (Manchmal unterscheiden sich die Dateierweiterungen; häufig sind CRT-, PEM- und CER-Erweiterungen austauschbar.) Es ist auch möglich, dass die beiden Dateien in einer einzelnen PFX-Datei kombiniert sind. Verwenden Sie in diesem Fall OpenSSL, um die beiden Dateien zu extrahieren.Tipp
Kostenlose SSL-Zertifikate sind von Anbietern wie Let's Encrypt erhältlich.
-
SSH-Konnektivität.
Konten
Ihr Harmony muss eine Rolle mit Admin-Berechtigung haben. (Allein die Agent Install-Berechtigung ist nicht ausreichend.)
Empfehlungen
Beim Einrichten Ihres API-Gateway-Hosts sollten Sie die empfohlenen Punkte beachten:
-
Teilen Sie den Host nicht mit anderen Nicht-System-Anwendungen.
-
Konfigurieren Sie den Host für optimale Leistung.
-
Installieren Sie die folgenden zusätzlichen Pakete für Ihren Host-Typ:
-
Red Hat Enterprise Linux (RHEL): Bei Cloud-Basis einen Compute-Knoten mit den folgenden Paketgruppen verwenden:
- Debugging Tools.
- Hardware Monitoring Utilities.
- Compatibility Libraries.
- Development Tools.
- Security Tools.
-
Debian, Ubuntu: Verwenden Sie eine Standardinstallation und wählen Sie die folgenden zusätzlichen Pakete:
- OpenSSH.
-
-
Netzwerk: Öffnen Sie Port 443 (HTTPS). Sie können die folgenden Befehle verwenden:
firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reloadufw allow 443/tcp
Installieren und Konfigurieren eines privaten API-Gateways
Um einen privaten API-Gateway zu installieren und zu konfigurieren, führen Sie diese Schritte mit einem Konto mit Root-Berechtigung aus:
-
Laden Sie eines der folgenden Softwarepakete für den privaten API-Gateway von der Seite Downloads des Harmony Portals herunter und kopieren Sie es auf Ihren API-Gateway-Host:
-
Linux RPM: Die
.rpm-Paketdatei zur Installation auf Red Hat oder Amazon Linux. -
Linux Debian: Die
.deb-Paketdatei zur 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 -
Seit Version 11.49 fügt der Installationsprozess die folgende
logrotate-Konfigurationsdatei für NGINX-Protokolle hinzu:/etc/logrotate.d/nginx(Optional) Öffnen Sie diese Datei, überprüfen Sie die Einstellungen und passen Sie sie bei Bedarf an.
-
Kopieren und benennen Sie Ihre 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 die Fragen:
jitterbit-api-gateway-configTipp
Führen Sie den Befehl mit der Option
--helpaus, um Hilfe zumjitterbit-api-gateway-config-Befehl zu erhalten.Wichtige Hinweise
-
Die bereitgestellten Informationen werden in der Datei
/usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yamlgespeichert. In dieser Datei sind Ihr Harmony-Benutzername und Ihr Passwort verschlüsselt, aber der Benutzername und das Passwort des Proxy-Servers sind nur Base64-codiert. Sie sollten sicherstellen, dass diese Datei über die entsprechenden Berechtigungen verfügt, um zu verhindern, dass andere Benutzer diese Werte lesen. -
Wenn Sie einen privaten API-Gateway zum ersten Mal mit Harmony-Anmeldedaten konfigurieren, wird automatisch ein neuer, separater API-Gateway-Benutzer mit einem nicht ablaufenden Passwort in der Organisation mit der Rolle Administrator erstellt. Dieser Benutzer ist nicht mit einer E-Mail-Adresse verknüpft, kann sich nicht beim Harmony-Portal anmelden und ist nur für den API-Gateway bestimmt. Die Anmeldedaten für diesen Benutzer werden der Datei
gatewayconfig.yamlhinzugefügt. -
Seit API-Gateway-Version 11.32 werden Sie bei einer Neukonfiguration des Gateways die folgende zusätzliche Frage gestellt:
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 Seite Benutzerverwaltung der Management Console 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 inkrementellen 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 über den privaten API-Gateway auf die APIs Ihrer Organisation zugreifen.
Hinweis
Zusätzlich zum Zugriff auf die APIs der Organisation über private API-URLs können Sie weiterhin Jitterbit-URLs verwenden. Um den Zugriff auf Jitterbit-URLs zu blockieren, kann eine Operation zunächst bestätigen, dass eine URL vom privaten API-Gateway stammt, und abbrechen, falls nicht. Das Folgende ist ein Beispiel für einen Test in der NA-Region (für EMEA- und APAC-Regionen ersetzen Sie jitterbit.eu oder jitterbit.cc entsprechend):
<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 für einen Start
. . .
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 Verschlüsselungen ändern
Falls erforderlich, können unterstützte SSL-Protokolle und Verschlüsselungen in der lokalen Konfigurationsdatei /usr/local/openresty/nginx/conf/onpremise.conf mithilfe der Direktiven ssl_protocols und ssl_ciphers geändert werden. Dies kann durchgeführt werden, um die Unterstützung für ein Standardprotokoll oder eine Standardverschlüsselung 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
Falls Änderungen an der lokalen Konfigurationsdatei vorgenommen werden, erstellen Sie eine Sicherung der Datei. Änderungen bleiben nicht erhalten, wenn ein privates API-Gateway aktualisiert wird.
(Optional) Maximale unterstützte Subdomänen-Ebenen für einen benutzerdefinierten FQDN ändern
Der benutzerdefinierte vollständig qualifizierte Domänenname (FQDN) eines privaten API-Gateways kann mehrere Subdomänen-Ebenen enthalten, z. B. mysubdomain.department.region.example.com. Seit Version 12.9 des privaten API-Gateways unterstützt ein privates API-Gateway standardmäßig FQDNs mit bis zu 10 Subdomänen-Ebenen. Der Schlüssel MaxDomainParts ist in gatewayconfig.yaml standardmäßig nicht vorhanden.
Falls Ihr benutzerdefinierter FQDN mehr als 10 Subdomänen-Ebenen erfordert, fügen Sie den Schlüssel MaxDomainParts manuell zur Datei mit der Anzahl der benötigten Ebenen hinzu. Beispiel:
MaxDomainParts: 15
Nach dem Aktualisieren 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 Sie eine Multi-Gateway-Umgebung hinter einem Application Load Balancer (ALB) wie AWS ALB konfigurieren, kann das für das Payload-Routing verwendete Protokoll in der Datei /usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml durch Änderung der Direktive payloadurlprefix geändert werden. Beispiel:
payloadurlprefix: https://
Privates API-Gateway testen
Führen Sie diese Schritte aus, 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. Falls 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 denselben Pfad beibehalten. (Falls es sich um eine Proxy-Konfiguration handelt, fügen Sie
?debugan die URL an.)Beispiel
Falls Ihre Subdomäne
mysubdomainund die Domäneexampleist, wird die Basis-URL zumysubdomain.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. Falls erfolgreich, ist die AusgabeProxy enabled: PROXY_URI, wobeiPROXY_URIder während der Konfiguration angegebene Wert ist.
Private API Gateway Selbsttest
Um einen Gateway-Selbsttest durchzuführen, verwenden Sie die Option --test für den Befehl jitterbit-api-gateway-config. Nach erfolgreichem Login führt dieser automatisch eine Reihe von Tests durch, um die ordnungsgemäße Konfiguration sicherzustellen. Dazu gehören das Importieren eines integrierten Projekts und einer API sowie das Aufrufen der API über das Gateway. (Eine API-URL muss in Ihrem Abonnement verfügbar sein, damit der Selbsttest 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 den 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
Um eine private API Gateway auf eine neuere Version zu aktualisieren, führen Sie diese Schritte aus:
-
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
Die Aktualisierung einer privaten API Gateway auf eine neuere Version kann ohne Deinstallation der vorherigen Gateway-Version durchgeführt werden, auch beim Upgrade von 10.x auf 11.x oder von 11.x auf 12.x.
-
Erstellen Sie eine Sicherung der Konfigurationsdatei der privaten API Gateway
/usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml. -
Falls Sie Änderungen an den unterstützten SSL-Protokollen und Verschlüsselungsverfahren vorgenommen haben, erstellen Sie eine Sicherung der On-Premise-Konfigurationsdatei
/usr/local/openresty/nginx/conf/onpremise.conf. -
Beim Upgrade von einer privaten API Gateway Version 10.61 oder früher erstellen Sie eine Sicherung der SSL-Zertifikatsdateien. Die SSL-Zertifikatsdateien der privaten API Gateway 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, die SSL-Zertifikatsdateien zu sichern oder zu kopieren. Diese Dateien werden während eines Upgrades beibehalten.
-
Führen Sie die Installationsschritte durch. (Die Befehle zum Upgrade einer privaten API Gateway sind identisch mit denen für die Installation.)
-
Kopieren Sie die Sicherung der Konfigurationsdatei der privaten API Gateway, der On-Premise-Konfigurationsdatei (falls zutreffend) und der SSL-Zertifikatsdateien (falls zutreffend) in die neue Installation der privaten API Gateway.
-
(Optional) Führen Sie
jitterbit-api-gateway-configaus, um zusätzliche Konfigurationsänderungen vorzunehmen. Dies können Sie tun, wenn Sie neue Konfigurationseinstellungen verwenden, die in einer neueren Version der privaten API Gateway verfügbar sind. -
Führen Sie diesen Befehl aus, um die private API Gateway neu zu starten:
jitterbit-api-gateway-config -s restart
Private API Gateway deinstallieren
Um eine 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 die Verwaltung einer Jitterbit Private API Gateway.
Ü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: Startet das Gateway. -
stop: Stoppt das Gateway. -
restart: Startet das Gateway neu.
-
-
-d,--dns: Konfiguriert DNS-Server interaktiv. -
--proxyEnabled=true | false: Aktiviert (true) oder deaktiviert (false) einen Proxy. -
--proxyUri=PROXY_URI: Proxy-Server URI. -
--proxyUser=PROXY_USER: Proxy-Server Benutzername. -
--proxyPassword=PROXY_PASSWORD: Passwort des Proxy-Servers. -
-t,--test: Führt Selbsttests aus. -
--debug: Aktiviert Debug-Ausgabe für Selbsttests. -
--noColor: Deaktiviert Terminalfarben.