Ativar Persistência de Sessão com Cookies Persistentes

Ative sessões persistentes usando cookies em um App Gateway. O cookie persistente é encaminhado para o mesmo servidor de backend.

Você só precisará usar o suporte de persistência quando tiver várias origens, e isso é feito criando-se um bloco upstream NGINX .

  1. Ative o módulo persistente no App Gateway editando o arquivo /usr/local/nginx/conf/nginx.conf.
    • Abaixo da linha load_module /scratch/oracle/cloudgate/home/lib/idcs_cloudgate_ngx.so;, adicione
      load_module /scratch/oracle/cloudgate/home/lib/ngx_http_sticky_module.so;
    • Abaixo da linha include /usr/local/nginx/conf/agent_conf/*.conf;, adicione
      include /usr/local/nginx/conf/origin_conf/*.conf;
  2. Criar um bloco upstream NGINX usando
    $ vi /usr/local/nginx/conf/origin_conf/myupstream.conf
    
    Add below entry to myupstream.conf
    upstream weblogic {
        sticky;
        server 100.111.190.221:7003;
        server 100.111.190.220:7003;
    }
  3. Altere o servidor de origem.
    1. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Domínios.
    2. Clique no nome do domínio de identidades no qual você deseja trabalhar. Talvez você precise alterar o compartimento para localizar o domínio desejado. Em seguida, clique em Segurança e, em seguida, em Gateways de aplicativo.
    3. Em Recursos, selecione Aplicativos e selecione o gateway de Aplicativo.
    4. Nos detalhes do Aplicativo, modifique o Servidor de origem para apontar para o upstream.

Parâmetros Persistentes

upstream {
  sticky;  
  server 127.0.0.1:9001;
  server 127.0.0.1:9002;
}

  sticky [hash=index|md5|sha1] [no_fallback]
       [name=route] [domain=.example.com] [path=/] [expires=1h] [secure] [httponly];
   or
  sticky [hmac=md5|sha1 hmac_key=<foobar_key>] [no_fallback]
       [name=route] [domain=.example.com] [path=/] [expires=1h] [secure] [httponly];
   or
  sticky [text=raw] [no_fallback]
       [name=route] [domain=.example.com] [path=/] [expires=1h] [secure] [httponly];

Algoritmo de Seleção do Servidor

Algoritmo Descrição
hash

O mecanismo de hash usado para codificar o servidor de upstream. Ele não pode ser usado com hmac ou text.

  • md5|sha1. Funções de hash criptográfico padrão para codificar a informação.
  • index. As informações não têm hash; em vez disso, é utilizado um índice na memória. Essa operação é mais rápida e a sobrecarga é menor, mas a correspondência com a lista de servidores upstream é inconsistente, e se o servidor de upstream tiver alterado os valores de índice, poderá não corresponder ao mesmo servidor. Só use index se tiver certeza de que deseja usá-lo apesar disso.

O padrão é md5.

hmac O mecanismo de hash HMAC usado para codificar o servidor de upstream é como o mecanismo de hash, mas usa hmac_key para proteger o hashing. Ele não pode ser usado com hash ou text.
hmac_key A chave criptográfica a ser usada com hmac. Defina um hmac_key se você usar hmac.
no_fallback Defina esse flag para que, se uma solicitação vier com um cookie e o backend correspondente não estiver disponível, um 502 (Gateway Inválido ou Erro de Proxy) seja retornado. Você pode defini-lo como bloco de upstream ou definir sticky_no_fallback em um servidor ou bloco de localização.

Definições de Cookie

Definindo Descrição
name O nome do cookie usado para rastrear o servidor de upstream persistente. O padrão é route.
domain O domínio no qual o cookie é válido. O padrão é none quando o browser identifica o domínio.
path O caminho no qual o cookie é válido. O padrão é /.
expires

A duração da validade do cookie. O padrão é nothing, o que significa que é um cookie de sessão e será excluído quando o cliente fizer shutdown.

Informe um valor para que o cookie expire após o horário especificado. O valor é definido em relação ao cliente e deve ser por um período superior a um segundo.

secure Ative cookies seguros (transferidos apenas usando https).
httponly Informa ao browser que o cookie só pode ser acessado pelo servidor.