Implantação Segura Usando Proxy Reverso

Saiba como configurar o serviço de proxy reverso usando NGINX para acessar o Oracle GoldenGate Microservices sem usar números de porta.

Pré-requisitos para Usar ReverseProxySettings

Você pode usar qualquer serviço de proxy reverso com MA. O exemplo a seguir fornece um processo que você pode seguir para configurar outros serviços de proxy reverso em conjunto com a documentação do servidor proxy.

Os pré-requisitos a seguir fornecem detalhes sobre os requisitos mínimos para configurar um Proxy Reverso NGINX. Requisitos semelhantes podem ser necessários para seu ambiente e proxy reverso, se você estiver usando um utilitário diferente para configuração de proxy.

Observação: ao instalar o Oracle GoldenGate 26ai no Oracle Linux 8 ou RHEL 8, certifique-se de que a versão NGINX seja 1.24 ou superior ativando o fluxo de módulos NGINX apropriado.

  1. Instale o NGINX. Consulte Instalar o Servidor Web NGINX e o Proxy no Oracle Linux. Para o Oracle Linux, o comando para instalar o NGINX é:

    yum -y install nginx

  2. Verifique se a versão do JRE é JRE 8 ou mais recente.

  3. Instale o Oracle GoldenGate MA.

  4. Crie uma ou mais implantações de MA ativas.

  5. Garanta que o usuário da Oracle tenha permissões sudo.

  6. Configure a variável de ambiente PATH para incluir o caminho do diretório de instalação NGINX.

Execute o Utilitário ReverseProxySettings para Configurar o NGINX

Uma instalação da Arquitetura de Microsserviços do Oracle GoldenGate inclui o utilitário ReverseProxySettings. O utilitário ReverseProxySettings está localizado no diretório $OGG_HOME/lib/utl/reverseproxy.

Para identificar comandos adicionais que podem ser usados com o utilitário ReverseProxySettings, execute o utilitário com a opção --help:

$OGG_HOME/lib/utl/reverseproxy/ReverseProxySettings --help

As opções disponíveis com o utilitário ReverseProxySettings são:

-o ou –output

O nome da saída do arquivo. O nome de arquivo padrão é ogg.conf.

-P ou –senha

Uma senha para uma conta do Service Manager.

-l ou –log

Nome do arquivo de log e inicia o log. O padrão é não gerar log.

–trailOnly

Configure somente para dados de trilha de entrada.

-t ou –type

O tipo de servidor proxy. O padrão é Nginx.

-s ou –no-ssl

Configurar sem SSL.

-h ou –host

O nome do host virtual para proxy reverso.

-p ou –port

O número da porta de proxy reverso. Os padrões são 80 ou 443.

-? ou –ajuda

Exibir informações de uso.

-u ou –user

Nome da conta do Gerenciador de Serviços a ser usada.

-v ou –version

Exibe a versão.

Executar o Utilitário ReverseProxySettings

Para usar o utilitário ReverseProxySettings:

  1. Para gerar um arquivo de configuração para o proxy reverso NGINX, navegue até o local do utilitário ReverseProxySettings:

    cd $OGG_HOME/lib/utl/reverseproxy
  2. Execute o utilitário ReverseProxySetting:

    ReverseProxySettings -u *adminuser* -P *adminpwd* -o ogg.conf http://localhost:9100

    Neste trecho de código, adminuser é o nome do usuário da implantação e adminpwd é a senha do usuário da implantação usada para fazer log-in na implantação.

  3. Copie o arquivo ogg.conf gerado na etapa 2 para o diretório /etc/nginx/conf.d.

    sudo cp ogg.conf /etc/nginx/conf.d/.
  4. Atualize o arquivo ogg.conf para definições SSL/TLS usando as seguintes etapas:

    1. Localize a linha ssl_ciphers e substitua pelo seguinte:

      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305;
    2. Adicione outra linha abaixo desta linha:

      ssl_conf_command Ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256;
    3. Se você estiver usando um certificado autoassinado, certifique-se de que você tenha a chave privada e o arquivo pem do certificado copiados para o diretório /etc/nginx, conforme mostrado na seguinte amostra:

      sudo cp ogg.key /etc/nginx/.
      sudo cp ogg.pem /etc/nginx/.

      Altere as duas linhas a seguir para apontar para o local correto do arquivo:

      ssl_certificate          /etc/nginx/ogg.pem;
      ssl_certificate_key      /etc/nginx/ogg.key;
    4. Se você estiver usando um certificado assinado pela CA raiz, certifique-se de ter todos os certificados de CA intermediários adicionados ao seu certificado de servidor:

      cat server_cert.pem intermediate_ca_cert1.pem intermediate_ca_cert2.pem > ogg_chain.pem

      Copie a chave privada e a cadeia de certificados para /etc/nginx:

      sudo cp ogg_chain.pem /etc/nginx/.
      sudo cp ogg_key /etc/nginx/.

      Altere as duas linhas a seguir para apontar para o local correto do arquivo:

      ssl_certificate         /etc/nginx/ogg_chain.pem;
      ssl_certificate_key     /etc/nginx/ogg.key;
  5. Valide a configuração NGINX:

    sudo nginx -t

    A saída mostraria o seguinte, se o comando for bem-sucedido:

    NGINX: the configuration file /etc/NGINX/NGINX.conf syntax is ok
    NGINX: configuration file /etc/NGINX/NGINX.conf test is successful
  6. Reinicie o serviço NGINX:

    sudo systemctl restart nginx

    Se as alterações para o arquivo de configuração não forem carregadas, interrompa e reinicie o proxy.

  7. Para testar se você pode acessar os microsserviços depois que o NGINX for configurado com sucesso, abra o navegador da Web.

  8. Informe o URL do proxy para o Gerenciador de Serviços usando a porta número 443, semelhante ao seguinte:

    http://dc.example.com:443

    Isso abriria a página de login do Service Manager, na qual você também pode acessar os outros microsserviços. Se quiser acessar diretamente um microsserviço, você poderá informar o URL do proxy desse microsserviço, conforme fornecido no arquivo ogg.conf, gerado anteriormente.

Consulte também este vídeo sobre a configuração do proxy reverso NGINX.

Terminação SSL

Quando há uma conexão não segura entre o proxy reverso, que usa uma conexão baseada em TLS, e o servidor de origem, ele é chamado de terminação SSL de proxy reverso. Observação: No SSL-Termination, as conexões entre o proxy reverso e os servidores de origem não são seguras.

No entanto, a ponte SSL também é suportada quando as conexões entre o cliente e o proxy reverso são protegidas e a conexão entre o proxy reverso e o servidor de origem também é protegida.

Observação: o mTLS não é suportado quando um Proxy Reverso é usado.