Saltar al contenido

Instalar una puerta de enlace API privada Jitterbit en Linux

Descripción general

Esta página explica cómo instalar, configurar y probar una puerta de enlace de API privada.

Importante

Los clientes de EMEA con ambientes de red restringidos deben usar la versión 11.40 o posterior de API Gateway debido a un cambio de dominio del ambiente.

Requisitos del sistema

Esta sección proporciona los requisitos mínimos para un alojar de puerta de enlace de API.

Hardware

CPU Intel x86_64 (amd64) de cuatro núcleos, 8 GB de memoria.
Disco 50 GB, NTFS (Windows), ext2, ext4, xfs (Linux), velocidad de transferencia de 50 MB/s.
Red Conexión a internet de alta velocidad.

Importante

La velocidad y el espacio del disco duro son componentes críticos de la puerta de enlace de API privada, ya que las cargas útiles de solicitud y respuesta se almacenan en el servidor durante las transacciones de API.

Sistemas operativos

Sistema operativo Versión 11.36 11.37 11.38 11.39 11.40
Linux Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 9
Amazon Linux AMI 2
Amazon Linux 2023
Ubuntu 20.04 LTS
Ubuntu 24.04 LTS
Docker

Nota

Las distribuciones no incluidas aquí pueden funcionar, pero no son compatibles.

Red

  • Un subdominio o nombre de dominio, que apunta al servidor (por ejemplo, mysubdomain.example.com).

  • Un certificado SSL válido para el subdominio, emitido por una autoridad de certificación reconocida; no utilice un certificado autofirmado.

    El certificado debe constar de dos archivos: un archivo CRT (.crt) para el certificado firmado y CLAVE (.key) para la clave privada. Deben estar en el formato PEM que un servidor NGINX puede comprender. (A veces, las extensiones de los archivos son diferentes; a menudo, las extensiones CRT, PEM y CER son intercambiables). También es posible que los dos archivos se combinen en un solo archivo PFX. En ese caso, use OpenSSL para extraerlos.

    Consejo

    Hay certificados SSL gratuitos disponibles de proveedores como Let's Encrypt.

  • Conectividad SSH.

Cuentas

Tu Harmony debe tener un rol con permiso_Admin_. (El permiso Agent Install por sí solo no es suficiente).

Recomendaciones

Al configurar su alojar de puerta de enlace API, debe seguir los puntos recomendados:

  • No comparta el alojar con otras aplicaciones que no sean del sistema.

  • Configurar el alojar para un rendimiento óptimo.

  • Instale los siguientes paquetes adicionales para su tipo de alojar:

    • Red Hat Enterprise Linux (RHEL): si está basado en la nube, utilice un nodo de cómputo con los siguientes grupos de paquetes:

      • Herramientas de depuración.
      • Utilidades de monitoreo de hardware.
      • Bibliotecas de compatibilidad.
      • Herramientas de desarrollo.
      • Herramientas de seguridad.
    • Debian, Ubuntu: utilice una instalación predeterminada y seleccione los siguientes paquetes adicionales:

      • OpenSSH.

Red: Abra el puerto 443 (HTTPS). Puede usar los siguientes comandos para ello:

=== "Red Hat, Amazon Linux"

    ```sh
    firewall-cmd --zone=public --add-port=443/tcp --permanent
    firewall-cmd --reload
    ```
=== "Debian, Ubuntu"

    ```sh
    ufw allow 443/tcp
    ```

Instalar y configurar una puerta de enlace API privada

Para instalar y configurar una puerta de enlace API privada, siga estos pasos utilizando una cuenta con privilegios de root:

  1. Descargue uno de los siguientes paquetes de software de puerta de enlace de API privada desde el Portal Harmony Descargas página, luego cópiela en su alojar de puerta de enlace API:

    • RPM de Linux: El .rpm archivo de paquete, para instalar en Red Hat o Amazon Linux.

    • Linux Debian: El .deb archivo de paquete, para instalar en Debian o Ubuntu Linux.

  2. Ejecute estos comandos para su combinación de sistema operativo y versión de puerta de enlace, reemplazando x.x.x.x(.deb) o x.x.x-x(.rpm) con el número de versión descargada:

    yum update
    yum install jitterbit-api-gateway-x.x.x-x.x86_64.rpm
    
    yum 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.rpm
    
    apt-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.deb
    
    apt-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.deb
    
    apt-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
    
  3. Copie y renombre sus archivos de certificado con los siguientes comandos:

    cp ca.crt /usr/local/openresty/nginx/ssl/nginx.crt
    cp ca.key /usr/local/openresty/nginx/ssl/nginx.key
    
  4. Agregue los archivos de certificado al Jitterbit Java KeyStore.

  5. Ejecute el siguiente comando y responda las preguntas:

    jitterbit-api-gateway-config
    

    Consejo

    Para obtener ayuda con jitterbit-api-gateway-config dominio, ejecútelo con el --help Opción.

    Notas importantes

    • La información que proporciona se almacena en /usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml Archivo. En este archivo, su nombre de usuario y contraseña de Harmony están cifrados, pero el nombre de usuario y la contraseña del servidor proxy solo están codificados en base64. Asegúrese de que este archivo tenga los permisos adecuados para evitar que otros usuarios lean estos valores.

    • La primera vez que configure una puerta de enlace API privada con credenciales de Harmony, se creará automáticamente un nuevo usuario de puerta de enlace API independiente con una contraseña vigente en la organización, con el rol de_Administrador_. Este usuario no está asociado a una dirección de correo, no puede iniciar sesión en el portal de Harmony y es solo para la puerta de enlace API. Las credenciales de este usuario se agregan a la gatewayconfig.yaml archivo.

    • Desde la versión 11.32 de API Gateway, si reconfigura la puerta de enlace, se le realizará la siguiente pregunta adicional:

      Would you like to generate a new Gateway credentials and overwrite existing ones? (y/N):
      

      Si respondes N Se utilizan las credenciales de usuario existentes. Si responde Y, se crea un nuevo usuario.

    • Los usuarios de la puerta de enlace API se muestran en la Management Console Administración de usuarios página en el formulario <GatewayUser>_<orgID>_<ID> Si el mismo usuario reconfigura la puerta de enlace en la misma organización, al nombre del usuario de la puerta de enlace se le añade un guion bajo y un número incrementado, como _1.

    ¿??? abstract "Ejemplo de resultado"

    ```txt
    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)?
    . . .
    ```
    
  6. Ahora puede acceder a las APIs de su organización a través de la puerta de enlace API privada.

    Nota

    Además de acceder a las APIs de la organización con sus URLs de API privadas, aún puede usar las URLs de Jitterbit. Para bloquear el acceso a las URLs de Jitterbit, una operación puede confirmar primero que una URL proviene de la puerta de enlace de API privada y cancelarla si no es así. El siguiente es un ejemplo de una prueba en la región NA (para las regiones EMEA y APAC, sustituya jitterbit.eu o jitterbit.cc según corresponda):

    <trans>
    if( index($jitterbit.api.request.headers.fulluri,'jitterbit.net') >0,
        $jitterbit.api.response = 'Public API gateway not permitted';
        CancelOperationChain($jitterbit.api.response);
    )
    </trans>
    

    Una startup exitosa de API gateway privada se parece a lo siguiente:

    Ejemplo de startup
    . . .
    nginx: [alerta] [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
    

Pruebe la puerta de enlace API privada

Para probar la puerta de enlace, siga estos pasos:

  1. Configure una API de API Manager válida en la organización asociada con la puerta de enlace de API privada y un API Manager URL del servicio API en el formato https://JBExample123456.jitterbit.net/Development/1/customer.

  2. Pruebe la API. Si funciona correctamente, úsela para probar una URL de API privada reemplazando el dominio y los subdominios de Jitterbit con los suyos, manteniendo la misma ruta. (Si se trata de una configuración de proxy, añada...) ?debug a la URL.

    Ejemplo de resumen

    Si su subdominio es mysubdomain y el dominio es example, la URL base se convierte en mysubdomain.example.com, y cambiarías la URL del servicio API https://JBExample123456.jitterbit.net/Development/1/customer a la URL de la API privada https://mysubdomain.example.com/Development/1/customer Para probar una URL de API privada de proxy https://mysubdomain.example.com/Development/1/customer, usar https://mysubdomain.example.com/Development/1/customer?debug Si tiene éxito, el resultado es Proxy enabled: PROXY_URI, dónde PROXY_URI Es el valor proporcionado durante la configuración.

Prueba automática de la puerta de enlace de API privada

Para ejecutar una autoprueba de la puerta de enlace, utilice el --test opción para el jitterbit-api-gateway-config. Tras iniciar sesión correctamente, se ejecutan automáticamente una serie de pruebas para garantizar una configuración correcta. Estas incluyen la importación de un proyecto y una API integrados, y la llamada a la API a través de la puerta de enlace. (Para que la autoprueba sea correcta, debe haber una URL de API disponible en su suscripción).

Nota

La API se crea con la opción Solo SSL habilitada, por lo que el acceso a la URL de la puerta de enlace se prueba únicamente mediante HTTPS. Para permitir el acceso mediante HTTP, puede deshabilitar la opción Solo SSL en la Configuración de la API después de crear la API de prueba.

Actualizar una puerta de enlace API privada

Para actualizar una puerta de enlace API privada a una versión posterior, siga estos pasos:

  1. Descargue la última versión del software de puerta de enlace de API privada a través de Descargas página. (Si es necesario, se pueden obtener versiones anteriores del software en soporte de Jitterbit.)

    Consejo

    Se puede actualizar una puerta de enlace de API privada a una versión posterior sin desinstalar la versión de la puerta de enlace anterior, incluso cuando se actualiza de una versión 10.x a una 11.x.

  2. Cree una copia de seguridad del archivo de configuración de la puerta de enlace de API privada /usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml.

  3. Al actualizar desde una puerta de enlace API privada versión 10.61 o anterior, cree una copia de seguridad de los archivos del certificado SSL. Los archivos del certificado SSL de la puerta de enlace API privada se encuentran en estos directorios:

    /usr/local/openresty/nginx/ssl/nginx.crt
    /usr/local/openresty/nginx/ssl/nginx.key
    

    Nota

    Para la versión 10.62 o posterior de la puerta de enlace de API privada, no es necesario realizar una copia de seguridad ni copiar los archivos del certificado SSL. Estos archivos se conservan durante la actualización.

  4. Siga las instrucciones de instalación pasos. (Los comandos para actualizar una puerta de enlace API privada son los mismos que para la instalación).

  5. Copie la copia de seguridad del archivo de configuración de la puerta de enlace de API privada y los archivos del certificado SSL (si corresponde) a la nueva instalación de la puerta de enlace de API privada.

  6. (Opcional) Ejecutar jitterbit-api-gateway-config para realizar cambios de configuración adicionales. Puede hacerlo si utiliza nuevas opciones de configuración disponibles en una versión posterior de la puerta de enlace de API privada.

  7. Ejecute este comando para reiniciar la puerta de enlace de API privada:

    jitterbit-api-gateway-config -s restart
    

Desinstalar una puerta de enlace de API privada

Para desinstalar una puerta de enlace API privada, ejecute estos comandos:

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/

jitterbit-api-gateway-config dominio

El jitterbit-api-gateway-config El comando le permite administrar una puerta de enlace API privada de Jitterbit.

Sinopsis

jitterbit-api-gateway-config [OPTIONS]

Opciones

  • -h, --help: Mostrar un mensaje de ayuda y salir.

  • -u USER, --user=USER:Nombre de usuario de Jitterbit Harmony.

  • -p PASSWORD, --password=PASSWORD: Contraseña de Jitterbit Harmony.

  • -o ORGANIZATION_ID, --organizationId=ORGANIZATION_ID:ID de la organización Jitterbit Harmony.

  • -e ServiceUrl, --serviceUrl=ServiceUrl: URL de servicios de Jitterbit.

  • -s COMMAND, --server=COMMAND: Valores válidos para COMMAND:

    • start: Iniciar la puerta de enlace.

    • stop: Detén la puerta de enlace.

    • restart: Reiniciar la puerta de enlace.

  • -d, --dns: Configurar servidores DNS de forma interactiva.

  • --proxyEnabled=true | false: Permitir (true) o deshabilitar (false) un apoderado.

  • --proxyUri=PROXY_URI: URI del servidor proxy.

  • --proxyUser=PROXY_USER: Nombre de usuario del servidor proxy.

  • --proxyPassword=PROXY_PASSWORD: Contraseña del servidor proxy.

  • -t, --test: Ejecutar autopruebas.

  • --debug:Habilitar la salida de depurar para pruebas automáticas.

  • --noColor: Desactivar los colores del texto de la terminal.