Installieren Sie ein privates Jitterbit API -Gateway unter Linux
Übersicht
Dies sind die Anweisungen zum Installieren und Konfigurieren eines privaten API Gateways.
Notiz
Das private API Gateway war früher als Jitterbit-On-Premises API Gateway bekannt.
Voraussetzungen
Um ein privates API Gateway zu installieren, müssen Hardware und Software diese Anforderungen erfüllen:
-
Linux Server mit einem 64-Bit-Betriebssystem unter Verwendung einer dieser Distributionen:
- Ubuntu 20.04 LTS
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9 (verifiziert mit Gateway-Versionen 11.37 und höher)
- Amazon Linux AMI 2
Notiz
Es ist möglicherweise möglich, andere Linux Distributionen zu verwenden, diese werden jedoch derzeit von Jitterbit nicht unterstützt. Da jede Linux-Distribution unterschiedlich sein kann, können die Anweisungen zur Installation des privaten API Gateways auf anderen Linux Distributionen von den auf dieser Seite beschriebenen abweichen.
-
Dies sind die Mindestanforderungen an Hardware und virtuelle Maschinen für ein privates API -Gateway:
-
Quad-Core-Prozessor
-
8 GB RAM
-
50 GB freier Festplattenspeicher
-
50 Megabyte/Sekunde Übertragungsrate auf der Festplatte
-
Highspeed-Internetverbindung
Vorsicht
Festplattengeschwindigkeit und -speicherplatz sind kritische Komponenten des privaten API Gateways, da Anforderungs- und Antwortnutzdaten während API -Transaktionen auf dem Server gespeichert werden.
-
-
Optimale Konfiguration des Systems und der Umfeld, in der das private API Gateway ausgeführt wird.
Warnung
Bei nicht optimaler Konfiguration können sporadische und unvorhersehbare Probleme durch Netzwerkprobleme, schlechte Festplatten-E/A, begrenzten oder nicht ausreichenden Arbeitsspeicher, begrenzten oder nicht ausreichenden Festplattenspeicher, Stromausfälle oder abrupte Systemneustarts entstehen.
-
Eine Subdomäne 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: einer CRT-Datei (
.crt
) für das signierte Zertifikat und den SCHLÜSSEL (.key
) für den privaten Schlüssel. - Diese Zertifikatsdateien sollten im PEM-Format vorliegen, das ein NGINX-Server verstehen kann.
- Manchmal sind die Dateierweiterungen unterschiedlich; oft sind die Erweiterungen CRT, PEM und CER austauschbar.
- Es ist auch möglich, dass die beiden Dateien in einer einzigen PFX-Datei kombiniert sind; in diesem Fall verwenden Sie OpenSSL, um die beiden Dateien zu extrahieren.
- Denken Sie daran, die Ablaufdaten der Zertifikate zu überwachen!
- Wenden Sie sich für weitere Informationen an Ihren Zertifikatsanbieter.
- Kostenlose SSL-Zertifikate sind bei Anbietern wie Let's Encrypt erhältlich.
-
Ab Harmony Version 10.3 unterstützt das private API Gateway standardmäßig nicht mehr Transport Layer Security (TLS) 1.0 (siehe TLS-Versionskompatibilitätsupgrade). Um diese Standardeinstellung zu ändern, wenden Sie sich an den Jitterbit-Support.
-
Um eine Proxy-Konfiguration zu verwenden, ist das private API Gateway in der Version 10.30.1 oder höher erforderlich.
Installieren Sie ein privates API Gateway
Nachdem Sie die oben genannten Voraussetzungen bestätigt haben erfüllt sind, befolgen Sie diese Schritte, um ein privates API Gateway einzurichten:
Schritt 1: Einrichten der API -Gateway-Maschine
-
Richten Sie eine neue Linux Maschine ein. Es wird empfohlen, die Maschine ausschließlich für die Verwendung durch das private API -Gateway zu verwenden.
Diese zusätzlichen Empfehlungen hängen vom Betriebssystem ab:
-
Red Hat Enterprise Linux (RHEL)
Wenn Sie RHEL zum ersten Mal auf dieser Maschine installieren, empfehlen wir die Verwendung des Compute Node mit den folgenden Optionen:
- Debugging-Tools
- Dienstprogramme zur Hardwareüberwachung
- Kompatibilitätsbibliotheken
- Entwicklungstools
- Sicherheitstools
-
Ubuntu oder Debian
Wenn Sie Ubuntu oder Debian installieren, installieren Sie es mit den Standardeinstellungen und schließen Sie den OpenSSH-Server ein, damit Sie sich remote beim Computer anmelden können.
-
-
In vielen Linux Umgebungen blockiert die Firewall automatisch den für das private API -Gateway erforderlichen HTTPS- Port (443).
Um den HTTPS Port zu öffnen, verwenden Sie je nach Bedarf diese Befehle:
64-bit RHEL or Amazon Linux AMIfirewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reload
oder
64-bit Debian or Ubuntuufw allow 443/tcp
-
Richten Sie die Subdomäne oder Domäne auf die IP-Adresse des Servers.
-
Bestätigen Sie, dass Sie mit einem SSH-Client per SSH auf den Computer zugreifen können.
Schritt 2: Installieren Sie die private API -Gateway-Software
Um die private API Gateway-Software zu installieren, melden Sie sich per SSH bei Ihrem Computer an und führen Sie die für Ihre Linux Version geeigneten Befehle aus. Der Download-Link und die heruntergeladene Datei variieren je nach Version und befinden sich in Ihren Registrierungsinformationen. Die Download-Dateien sind auch über das Harmony-Portal verfügbar Downloads Seite. Passen Sie die Pfade und Dateinamen entsprechend an:
Um ein privates API Gateway der Version 10.61 oder früher (auf REHL oder Amazon Linux AMI) zu installieren, führen Sie diese Befehle aus:
sudo -i
yum update
cd ~
wget https://download.jitterbit.com/xxxx/jitterbit-api-gateway-x.x.x-x.x86_64.rpm
yum install jitterbit-api-gateway-x.x.x-x.x86_64.rpm
sudo -i
yum update
cd ~
# To install required dependencies:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# To download and install the private API gateway:
wget https://download.jitterbit.com/xxxx/jitterbit-api-gateway-x.x.x-x.x86_64.rpm
yum install jitterbit-api-gateway-x.x.x-x.x86_64.rpm
sudo -i
cd ~
# To install required dependencies:
apt-get update
apt-get install libzzip-dev
apt-get install libyaml-dev
apt --fix-broken install
apt install python
# To download and install the API gateway:
wget https://download.jitterbit.com/xxxx/jitterbit-api-gateway-x.x.x.x.amd64.deb
dpkg --install jitterbit-api-gateway-x.x.x.x.amd64.deb
sudo -i
cd ~
# To install required dependencies:
apt-get update
apt-get -y install libgeoip-dev
apt --fix-broken install
ln -s /usr/bin/python2.7 /usr/bin/python
# To download and install the API gateway:
wget https://download.jitterbit.com/xxxx/jitterbit-api-gateway-x.x.x.x.amd64.deb
dpkg --install jitterbit-api-gateway-x.x.x.x.amd64.deb
Schritt 3: Installieren Sie die SSL-Zertifikatdateien
Das private API Gateway erfordert, dass die Zertifikatsdateien für die Maschine benannt werden nginx.crt
Und nginx.key
und müssen an diese Speicherorte kopiert werden:
cp ca.crt /usr/local/openresty/nginx/ssl/nginx.crt
cp ca.key /usr/local/openresty/nginx/ssl/nginx.key
Nachdem Sie die SSL-Zertifikatsdateien installiert haben, müssen Sie sie dem Jitterbit Java Schlüsselspeicher für Ihren privaten Agenten hinzufügen. Weitere Informationen finden Sie unter Hinzufügen von Zertifikaten zum Schlüsselspeicher für private Agenten.
Schritt 4: Konfigurieren des privaten API Gateways
Um die Installation abzuschließen, führen Sie diesen Befehl als root
So konfigurieren Sie das private API -Gateway:
/usr/bin/jitterbit-api-gateway-config
Das private API Gateway bietet Hilfe zur Befehlszeile:
/usr/bin/jitterbit-api-gateway-config --help
# Output:
Usage: jitterbit-api-gateway-config [options]
Options:
-h, --help show this help message and exit
-u USER, --user=USER Your Harmony user name (normally your email
address)
-p PASSWORD, --password=PASSWORD
Your Harmony password
-o ORGANIZATION_ID, --organizationId=ORGANIZATION_ID
Provide your Organization Id if you have more than one
organization
-e ServiceUrl, --serviceUrl=ServiceUrl
Your Jitterbit Services URL (e.g.
https://services.jitterbit.net/apis
-s NGINX_SERVER, --server=NGINX_SERVER
Valid values: start stop restart
-d, --dns interactively config dns servers
--proxyEnabled=PROXY_ENABLED
Enable (true) or disable (false) a proxy
--proxyUri=PROXY_URI When proxy is enabled, the Uri for your proxy server.
e.g. http://192.168.1.100:808
--proxyUser=PROXY_USER
Proxy server username
--proxyPassword=PROXY_PASSWORD
Proxy server password
-t, --test Run self tests
--debug Debug output for Self Tests
--noColor Turn off terminal text colors
Sie können entweder alle erforderlichen Informationen in der Befehlszeile angeben oder, indem Sie den Befehl ohne Optionen starten, in eine interaktive Sitzung eintreten, die die Konfigurationsdatei des privaten API Gateways vorbereitet und dann anbietet, das Gateway zu starten. Die eingegebene Konfiguration wird in der Konfigurationsdatei des privaten API Gateways erfasst /usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml
.
Beim Konfigurieren eines privaten API Gateways müssen der Harmony-Benutzername und das Passwort einem Mitglied einer Rolle zugeordnet sein mit Admin-Berechtigung. Die Agent Install-Berechtigung reicht nicht aus. In der Konfigurationsdatei des privaten API Gateways werden die Felder für Benutzername und Passwort von Harmony verschlüsselt gespeichert, während Benutzername und Passwort des Proxyservers Base64-codiert gespeichert werden. Dies soll verhindern, dass die Proxy-Anmeldeinformationen im Klartext offengelegt werden, und soll kein hohes Maß an Sicherheit bieten. Bitte stellen Sie sicher, dass die Konfigurationsdatei sicher gespeichert wird.
Wenn Sie zum ersten Mal ein privates API Gateway mit Harmony-Anmeldeinformationen konfigurieren, wird in der Organisation automatisch ein neuer, separater API Gateway-Benutzer mit einem nicht ablaufenden Passwort als Mitglied der Rolle_Administrator_ erstellt. Dieser Benutzer ist keiner Email-Adresse zugeordnet und kann sich nicht beim Harmony-Portal anmelden. Dieser Benutzer dient nur für API Gateway-Zwecke. Die Anmeldeinformationen für diesen Benutzer werden dem gatewayconfig.yaml
Datei.
Seit der API -Gateway-Version 11.32 wird bei der Neukonfiguration des Gateways eine zusätzliche Frage angezeigt:
Would you like to generate a new Gateway credentials and overwrite existing ones? (y/N):
Wenn Sie antworten N
(oder drücken Sie die Eingabetaste für die Standardantwort), werden die vorhandenen Benutzeranmeldeinformationen verwendet. Wenn Sie antworten Y
, ein neuer Benutzer wird erstellt.
Diese API Gateway-Benutzer werden in der Management Console Benutzerverwaltung angezeigt Seite und haben das Format <GatewayUser>_<orgID>_<ID>
Wenn derselbe Benutzer das Gateway in derselben Organisation neu konfiguriert, wird dem Namen des Gateway-Benutzers ein Unterstrich und eine erhöhte Nummer angehängt, wie beispielsweise _1
.
Die Ausgabe des Konfigurationsprogramms sieht in etwa wie folgt aus. Geben Sie bei der entsprechenden Aufforderung die erforderlichen Informationen ein, z. B. Ihren Harmony-Benutzernamen und Ihr Harmony-Passwort, Harmony Region, Proxy-Informationen (falls die Proxy-Konfiguration aktiviert werden soll), Service-URL (falls sie von der Standardeinstellung abweicht), Organisations-ID (falls sie von der Standardeinstellung für dieses Konto abweicht) und gewünschte Konfiguration für DNS:
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)?
. . .
Wenn Sie antworten Y
Zur letzten Frage: Das private API Gateway sollte laufen.
Wenn die Installation erfolgreich war, können Sie jetzt über das private API -Gateway auf die APIs der Organisation zugreifen. Es ist keine weitere Konfiguration erforderlich. Alle APIs in der Organisation sollten jetzt über das private API -Gateway zugänglich sein.
Notiz
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 die Jitterbit URLs zu blockieren, kann ein Operation zunächst bestätigen, dass eine URL vom privaten API Gateway stammt, und andernfalls abbrechen. Hier ist ein Beispiel für Tests in der Region NA (für die Regionen EMEA und APAC ersetzen Sie jitterbit.eu
oder jitterbit.cc
je nach Bedarf):
<trans>
if( index($jitterbit.api.request.headers.fulluri,'jitterbit.net') >0,
$jitterbit.api.response = 'Public API gateway not permitted';
CancelOperationChain($jitterbit.api.response);
)
</trans>
Wenden Sie sich für Unterstützung an den Jitterbit-Support.
Ein erfolgreicher Start eines privaten API Gateways sieht ungefähr so aus:
. . .
nginx: [Alarm] [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
Schritt 5: Testen des privaten API Gateways
Sobald das private API Gateway installiert ist, sollte es getestet werden, um sicherzustellen, dass es wie erwartet funktioniert.
Beim Testen des privaten API Gateways müssen Sie über eine gültige API-Manager API in der Organisation, die mit dem privaten API Gateway verknüpft ist.
Testen Sie die API mit einem API-Manager API Dienst-URL in diesem Format:
https://JBExample123456.jitterbit.net/Development/1/customer
Wenn die API ordnungsgemäß funktioniert, kann sie zum Testen einer privaten API URL verwendet werden.
Ersetzen Sie die Jitterbit-Domäne und-Subdomäne mithilfe Ihrer Subdomäne und Domäne und behalten Sie dabei den gleichen Pfad bei.
Mithilfe der Subdomäne (mysubdomain
) und Domäne (example
) wie zum Beispiel mysubdomain.example.com
, die API Dienst URL würde in diese private API URL geändert:
https://mysubdomain.example.com/Development/1/customer
Um zu testen, ob eine Proxy-Konfiguration funktioniert, fügen Sie an ?debug
zur URL:
https://mysubdomain.example.com/Development/1/customer?debug
Die Ausgabe wird angezeigt:
Proxy enabled: {proxyUri}
Wobei {proxyUri}
ist der bei der Konfiguration angegebene Wert.
Selbsttest des privaten API Gateways
Das private API Gateway verfügt über einen Selbsttest, auf den über das --test
Option in der Befehlszeile.
Nach einer erfolgreichen Anmeldung durchläuft der Selbsttest eine Reihe automatischer Tests, darunter das Importieren eines integrierten Projekts und einer API und das anschließende Aufrufen der API über das Gateway, um eine ordnungsgemäße Konfiguration sicherzustellen.
Die API wird mit aktivierter Option Nur SSL erstellt, d. h. der Zugriff auf die private API Gateway URL wird nur über HTTPS getestet. Um den Zugriff über HTTP zuzulassen, können Sie die Option Nur SSL in der API Konfiguration deaktivieren, nachdem die Test-API erstellt wurde.
Damit der Selbsttest erfolgreich ist, muss in Ihrem Abonnement eine API URL verfügbar sein.
Starten Sie ein privates API Gateway neu
Möglicherweise müssen Sie das private API -Gateway stoppen, starten oder neu starten, um weitere Konfigurationsänderungen vorzunehmen, ein Upgrade durchzuführen oder fehlerbehebung. Verwenden Sie dazu das Konfigurationsprogramm und diese Optionen:
# Stop the private API gateway:
/usr/bin/jitterbit-api-gateway-config -s stop
# Start the private API gateway:
/usr/bin/jitterbit-api-gateway-config -s start
# Restart the private API gateway:
/usr/bin/jitterbit-api-gateway-config -s restart
# Private API gateway Configuration help:
/usr/bin/jitterbit-api-gateway-config -h
# Configure the private API gateway:
/usr/bin/jitterbit-api-gateway-config
# Testing the private API gateway by using its self-test:
/usr/bin/jitterbit-api-gateway-config --test
Upgrade eines privaten API Gateways
Um die Version des privaten API Gateways zu ermitteln, das aktuell auf Ihrem Computer ausgeführt wird, verwenden Sie diesen Befehl:
/usr/bin/jitterbit-api-gateway-config --version
Die Ausgabe wird angezeigt:
Version: x.x.x.x
Build Date: 20XX/XX/XX 00:00
Das Upgrade eines privaten API Gateways auf eine neuere Version kann ohne Deinstallation der vorherigen Gateway-Version erfolgen, selbst beim Upgrade von einer 10.x- auf eine 11.x-Version.
Um ein privates API Gateway auf eine neuere Version zu aktualisieren, führen Sie die folgenden Schritte aus:
-
Laden Sie die neueste Version der privaten API Gateway-Software über die Downloads herunter Seite. Bei Bedarf können ältere Versionen der Software vom Jitterbit-Support bezogen werden.
-
Erstellen Sie eine Sicherungskopie der vorhandenen privaten API -Gateway-Konfigurationsdatei. Die private API Gateway-Konfigurationsdatei befindet sich in diesem Verzeichnis:
/usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml
-
Erstellen Sie beim Upgrade von einem privaten API Gateway der Version 10.61 oder früher eine Sicherungskopie der SSL-Zertifikatsdateien. Die SSL-Zertifikatsdateien des privaten API Gateways befinden sich in diesen Verzeichnissen:
/usr/local/openresty/nginx/ssl/nginx.crt /usr/local/openresty/nginx/ssl/nginx.key
Notiz
Für das private API Gateway ab Version 10.62 ist es nicht erforderlich, eine Sicherungskopie der SSL-Zertifikatsdateien zu erstellen oder diese zu kopieren. Diese Dateien bleiben bei einem Upgrade erhalten.
-
Die Befehle zum Upgrade eines privaten API Gateways sind dieselben wie bei der Erstinstallation. Befolgen Sie die Anweisungen für Schritt 2: Installieren der privaten API -Gateway-Software.
-
Kopieren Sie die Sicherungskopie der Konfigurationsdatei des privaten API Gateways und der SSL-Zertifikatsdateien (sofern zutreffend) in die neue Installation des privaten API -Gateways.
-
Führen Sie optional das Befehlszeilenkonfigurationstool aus, um zusätzliche Konfigurationsänderungen vorzunehmen. Dies ist möglicherweise sinnvoll, wenn Sie neue Konfigurationseinstellungen verwenden, die in einer späteren Version der privaten API Gateway-Software verfügbar sind.
/usr/bin/jitterbit-api-gateway-config
Alle Konfigurationsoptionen finden Sie unter Schritt 4: Konfigurieren des privaten API Gateways.
-
Starten Sie das private API -Gateway neu:
/usr/bin/jitterbit-api-gateway-config -s restart
Notiz
Nach einem Upgrade können in der Konfigurationsdatei des privaten API -Gateways auf neueren Versionen des privaten API -Gateways Fehler auftreten. Stellen Sie in diesen Fällen sicher, dass Schritt 5 des Upgrades erfolgreich ist.
Deinstallieren eines privaten API Gateways
Verwenden Sie diesen Befehl, um ein privates API Gateway auf RPM-basierten Linux Distributionen zu deinstallieren:
yum remove jitterbit-api-gateway
Verwenden Sie diesen Befehl, um ein privates API Gateway auf Debian-basierten Linux Distributionen zu deinstallieren:
apt-get remove jitterbit-api-gateway
Entfernen Sie alle mit Jitterbit verbundenen Dateien
Führen Sie diese Befehle aus, um die Deinstallation abzuschließen:
Führen Sie für Debian-basierte Linux Distributionen, die das private API Gateway Version 10.62 oder höher verwenden, diesen Befehl aus:
apt-get purge jitterbit-api-gateway
Führen Sie für RPM-basierte Linux Distributionen, die das private API Gateway Version 10.62 oder höher verwenden, diesen Befehl aus:
yum remove jitterbit-api-gateway
Führen Sie für RPM- und Debian-basierte Linux Distributionen (alle privaten API Gateway-Versionen) diese Befehle aus:
rm -rf /usr/local/jitterbit-api-gateway/
rm -rf /usr/local/openresty/
rm -rf /usr/local/hostedfiles/