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:
-
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.
-
-
Execute estes comandos para sua combinação de sistema operacional e versão do gateway, substituindo
x.x.x.x
(.deb
) oux.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
-
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
-
Adicione os arquivos de certificado ao Jitterbit Java KeyStore.
-
Execute o seguinte comando e responda às perguntas:
jitterbit-api-gateway-config
Dica
Para obter ajuda sobre
jitterbit-api-gateway-config
comando, 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ê responderY
, 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)? . . .
-
-
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
oujitterbit.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:
-
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
. -
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 tornamysubdomain.example.com
, e você alteraria a URL do serviço da APIhttps://JBExample123456.jitterbit.net/Development/1/customer
para a URL da API privadahttps://mysubdomain.example.com/Development/1/customer
. Para testar uma URL de API privada de proxyhttps://mysubdomain.example.com/Development/1/customer
, usarhttps://mysubdomain.example.com/Development/1/customer?debug
. Se for bem-sucedido, a saída seráProxy enabled: PROXY_URI
, ondePROXY_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:
-
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.
-
Crie um backup do arquivo de configuração do gateway de API privado
/usr/local/openresty/nginx/conf/onpremise/gatewayconfig.yaml
. -
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.
-
Siga as instruções instalar etapas. (Os comandos para atualizar um gateway de API privado são os mesmos para instalação.)
-
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.
-
(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. -
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-config
Comando
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 paraCOMMAND
:-
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.