Ir para o conteúdo

Transforme as suas conexões em um bônus de fim de ano com o nosso novo Programa de Indicação de Clientes! Saiba mais

Instalar um gateway de API privado Jitterbit no Linux

Visão geral

Esta página explica como instalar, configurar e testar um gateway de API privado.

Importante

Os clientes da EMEA com ambientes de rede restritos devem usar o gateway de API versão 11.40 ou posterior devido a uma alteração no domínio do ambiente.

Requisitos do sistema

Esta seção fornece os requisitos mínimos para um hospedar de gateway de API.

Hardware

CPU Intel x86_64 (amd64) quad-core, 8 GB de memória.
Disco 50 GB, NTFS (Windows), ext2, ext4, xfs (Linux), velocidade de transferência de 50 MB/s.
Rede Conexão de internet de alta velocidade.

Importante

A velocidade e o espaço do disco rígido são componentes essenciais do gateway de API privado, pois as cargas de solicitação e resposta são armazenadas no servidor durante as transações de API.

Sistemas operacionais

SO Versão ≤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
Estivador

Nota

Distribuições não listadas aqui podem funcionar, mas não são suportadas.

Rede

  • Um subdomínio ou nome de domínio, apontado para o servidor (por exemplo, mysubdomain.example.com).

  • Um certificado SSL válido para o subdomínio, de uma autoridade certificadora reconhecida; não utilize um certificado autoassinado.

    O certificado deve consistir em dois arquivos: um arquivo CRT (.crt) para o certificado assinado e KEY (.key) para a chave privada. Elas devem estar no formato PEM que um servidor NGINX consiga entender. (Às vezes, as extensões dos arquivos são diferentes; frequentemente, as extensões CRT, PEM e CER são intercambiáveis.) Também é possível que os dois arquivos sejam combinados em um único arquivo PFX. Nesse caso, use o OpenSSL para extrair os dois arquivos.

    Dica

    Certificados SSL gratuitos estão disponíveis em provedores como Let's Encrypt.

  • Conectividade SSH.

Contas

Sua Harmony deve ter uma papel com permissão de Administrador. (A permissão de Instalação do Agente por si só não é suficiente.)

Recomendações

Ao configurar seu hospedar de gateway de API, você deve seguir os pontos recomendados:

  • Não compartilhe o hospedar com outros aplicativos que não sejam do sistema.

  • Configure o hospedar para desempenho ideal.

  • Instale os seguintes pacotes adicionais para seu tipo de hospedar:

    • Red Hat Enterprise Linux (RHEL): Se baseado em nuvem, use um nó Compute, com os seguintes grupos de pacotes:

      • Ferramentas de depuração.
      • Utilitários de monitoramento de hardware.
      • Bibliotecas de compatibilidade.
      • Ferramentas de desenvolvimento.
      • Ferramentas de segurança.
    • Debian, Ubuntu: Use uma instalação padrão e selecione os seguintes pacotes adicionais:

      • OpenSSH.
  • Rede: Abra a porta 443 (HTTPS). Você pode usar os seguintes comandos para isso:

    firewall-cmd --zone=public --add-port=443/tcp --permanent
    firewall-cmd --reload
    
    ufw allow 443/tcp
    

Instalar e configurar um gateway de API privado

Para instalar e configurar um gateway de API privado, siga estas etapas usando uma conta com privilégios de root:

  1. Baixe um dos seguintes pacotes de software de gateway de API privada do Portal Harmony Downloads página e copie-a para o hospedar do gateway da API:

    • Linux RPM: O .rpm arquivo de pacote, para instalação no Red Hat ou Amazon Linux.

    • Linux Debian: O .deb arquivo de pacote, para instalação no Debian ou Ubuntu Linux.

  2. Execute estes comandos para sua combinação de sistema operacional e versão do gateway, substituindo x.x.x.x(.deb) ou x.x.x-x(.rpm) com o número da versão baixada:

    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 e renomeie os arquivos do certificado usando os seguintes comandos:

    cp ca.crt /usr/local/openresty/nginx/ssl/nginx.crt
    cp ca.key /usr/local/openresty/nginx/ssl/nginx.key
    
  4. Adicione os arquivos de certificado ao Jitterbit Java KeyStore.

  5. Execute o seguinte comando e responda às perguntas:

    jitterbit-api-gateway-config
    

    Dica

    Para obter ajuda sobre jitterbit-api-gateway-configcomando, execute-o com o --help opção.

    Observações importantes

    • As informações fornecidas são armazenadas no /usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml arquivo. Neste arquivo, seu nome de usuário e senha do Harmony são criptografados, mas o nome de usuário e a senha do servidor proxy são codificados apenas em base64. Você deve garantir que este arquivo tenha as permissões apropriadas para impedir que outros usuários leiam esses valores.

    • Na primeira vez que você configura um gateway de API privado usando credenciais do Harmony, um novo usuário de gateway de API separado, com uma senha que não expira, é criado automaticamente na organização com a papel de_Administrador_. Este usuário não está associado a um endereço de email, não pode fazer login no portal Harmony e é usado apenas para o gateway de API. As credenciais deste usuário são adicionadas ao gatewayconfig.yaml arquivo.

    • Desde a versão 11.32 do gateway de API, se você reconfigurar o gateway, a seguinte pergunta adicional será feita:

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

      Se você responder N, as credenciais de usuário existentes são usadas. Se você responder Y, um novo usuário é criado.

    • Os usuários do gateway de API são exibidos no Management Console Gerenciamento de usuários página no formulário <GatewayUser>_<orgID>_<ID>. Se o mesmo usuário reconfigurar o gateway na mesma organização, o nome do usuário do gateway será anexado com um sublinhado e um número incrementado, como _1.

    Exemplo de Saída
    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. Agora você pode acessar as APIs da sua organização por meio do gateway de API privado.

    Nota

    Além de acessar as APIs da organização com suas URLs de API privadas, você ainda pode usar URLs Jitterbit. Para bloquear o acesso às URLs Jitterbit, uma operação pode primeiro confirmar se uma URL é do gateway de API privado e cancelar caso contrário. A seguir, um exemplo de teste na região NA (para as regiões EMEA e APAC, substitua jitterbit.eu ou jitterbit.cc conforme apropriado):

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

    Uma inicialização bem-sucedida de gateway de API privada se parece com o seguinte:

    Exemplo de Inicialização
    . . .
    nginx:`[alerta] `[lua] startup.lua:0: ():
           ___ ___  ___  __   __    ___
       | |  |   |  |__  |__) |__) |  |`FIM DA MESA`
    \__/ |  |   |  |___ |  \ |__) |  |`FIM DA MESA`
               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
    

Teste o gateway de API privado

Para testar o gateway, siga estas etapas:

  1. Configure uma API Manager API válida na organização associada ao gateway de API privado e um API Manager URL do serviço de API no formato https://JBExample123456.jitterbit.net/Development/1/customer.

  2. Teste a API. Se estiver funcionando corretamente, use-a para testar uma URL de API privada, substituindo o domínio e os subdomínios do Jitterbit pelos seus, mantendo o mesmo caminho. (Se for uma configuração de proxy, anexe ?debug para a URL.)

    Exemplo

    Se o seu subdomínio for mysubdomain e o domínio é example, a URL base se torna mysubdomain.example.com, e você alteraria a URL do serviço da API https://JBExample123456.jitterbit.net/Development/1/customer para a URL da API privada https://mysubdomain.example.com/Development/1/customer. Para testar uma URL de API privada de proxy https://mysubdomain.example.com/Development/1/customer, usar https://mysubdomain.example.com/Development/1/customer?debug. Se for bem-sucedido, a saída será Proxy enabled: PROXY_URI, onde PROXY_URI é o valor fornecido durante a configuração.

Autoteste de gateway de API privada

Para executar um autoteste de gateway, use o --test opção para o jitterbit-api-gateway-config. Após um login bem-sucedido, ele executa automaticamente uma série de testes para garantir a configuração correta. Isso inclui importar um projeto e uma API integrados e chamar a API pelo gateway. (Uma URL de API deve estar disponível na sua assinatura para que o autoteste seja bem-sucedido.)

Nota

A API é criada com a opção Somente SSL habilitada, portanto, o acesso à URL do gateway é testado usando apenas HTTPS. Para permitir o acesso via HTTP, você pode desabilitar a opção Somente SSL na Configuração da API após a criação da API de teste.

Atualizar um gateway de API privado

Para atualizar um gateway de API privado para uma versão posterior, siga estas etapas:

  1. Baixe a versão mais recente do software do gateway de API privado por meio de Downloads página. (Se necessário, versões mais antigas do software podem ser obtidas no suporte Jitterbit.)

    Dica

    A atualização de um gateway de API privado para uma versão posterior pode ser feita sem desinstalar a versão anterior do gateway, mesmo ao atualizar de uma versão 10.x para uma 11.x.

  2. Crie um backup do arquivo de configuração do gateway de API privado /usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml.

  3. Ao atualizar de um gateway de API privado versão 10.61 ou anterior, crie um backup dos arquivos do certificado SSL. Os arquivos do certificado SSL do gateway de API privado estão localizados nestes diretórios:

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

    Nota

    Para o gateway de API privado versão 10.62 ou posterior, não é necessário fazer backup ou copiar os arquivos do certificado SSL. Esses arquivos são mantidos durante uma atualização.

  4. Siga as instruções instalar etapas. (Os comandos para atualizar um gateway de API privado são os mesmos para instalação.)

  5. Copie o backup do arquivo de configuração do gateway de API privada e dos arquivos de certificado SSL (se aplicável) para a nova instalação do gateway de API privada.

  6. (Opcional) Execute jitterbit-api-gateway-config para fazer alterações adicionais na configuração. Você pode fazer isso se estiver usando novas definições de configuração disponíveis em uma versão posterior do gateway de API privado.

  7. Execute este comando para reiniciar o gateway de API privado:

    jitterbit-api-gateway-config -s restart
    

Desinstalar um gateway de API privado

Para desinstalar um gateway de API privado, execute estes 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-configComando

O jitterbit-api-gateway-config O comando permite que você gerencie um gateway de API privado Jitterbit.

Sinopse

jitterbit-api-gateway-config [OPTIONS]

Opções

  • -h, --help: Exibe uma mensagem de ajuda e sai.

  • -u USER, --user=USER: Nome de usuário do Jitterbit Harmony.

  • -p PASSWORD, --password=PASSWORD: Senha do Jitterbit Harmony.

  • -o ORGANIZATION_ID, --organizationId=ORGANIZATION_ID: ID da organização Jitterbit Harmony.

  • -e ServiceUrl, --serviceUrl=ServiceUrl: URL dos serviços Jitterbit.

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

    • start: Inicie o gateway.

    • stop: Pare o gateway.

    • restart: Reinicie o gateway.

  • -d, --dns: Configurar servidores DNS interativamente.

  • --proxyEnabled=true | false: Habilitar (true) ou desabilitar (false) um representante.

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

  • --proxyUser=PROXY_USER: Nome de usuário do servidor proxy.

  • --proxyPassword=PROXY_PASSWORD: Senha do servidor proxy.

  • -t, --test: Execute autotestes.

  • --debug: Habilitar saída de depurar para autotestes.

  • --noColor: Desabilitar cores de texto do terminal.