Isolando ServerNodes no Modo-2

No Modo-2, cada ServerNode recebe uma URL pública, portanto os ServerNodes ficam abertos ao acesso público. Eles não são totalmente isolados como no Modo-0. No entanto, ServerNodes no Modo-2 podem ser isolados desabilitando o acesso direto a esses servidores.

Existe um parâmetro de configuração que restringe o acesso aos ServerNodes:

avoid_direct_access=1

Quando esse parâmetro está definido, o acesso direto aos ServerNodes é proibido. Você não pode executar a aplicação web simplesmente apontando seu navegador para a URL pública de um ServerNode.

No exemplo abaixo o cluster tem um master em: http://localhost/webapp/hyper.dll

e um ServerNode em: http://localhost/webapp/server-0/hyper.dll

URL do ServerNode

Quando um cliente é roteado através do master HyperServer, a requisição é redirecionada para o ServerNode com parâmetros adicionais. Esses parâmetros informam ao ServerNode que a requisição se origina do master HyperServer e não de uma fonte arbitrária.

Uma URL de redirecionamento de exemplo: http://localhost/webapp/server-0/hyper.dll?rdrprm=89957281F52B8BDB27B39DB51793D5DC&rfr=aHR0cDovL2xvY2FsaG9zdC93ZWJhcHAvaHlwZXIuZGxs

Redirecionado para o ServerNode

Esse mecanismo garante que os ServerNodes só possam ser acessados através do master HyperServer, e não diretamente.

Se um cliente tentar acessar um ServerNode diretamente quando o acesso direto estiver desabilitado, o acesso será rejeitado:

Acesso rejeitado

Cada URL de redirecionamento tem um tempo limite controlado por esta configuração:

O padrão é 5 minutos. Se um usuário adicionar a URL redirecionada aos favoritos, ele não poderá usar o favorito após o período de tempo limite. Isso garante que os clientes usem o ponto de entrada principal do cluster (o master HyperServer) para acessar a aplicação web.

circle-info

Como o tempo do sistema é usado para calcular o tempo limite, certifique-se de que os relógios nas máquinas ServerNode estejam sincronizados com o relógio do master HyperServer.

Se um cliente tentar reutilizar uma URL expirada, ocorrerá uma exceção:

Exceção de URL expirada

Nota final: quando uma sessão é encerrada ou reiniciada, sua URL de reinício sempre apontará para a URL principal do master HyperServer.