Artigo
· Fev. 13 4min de leitura

Debugando a mensagem “Server Availability Error” ao carregar a Aplicação Web

No WRC, frequentemente vemos clientes entrarem em contato conosco porque seus Web Gateways são incapazes de servir páginas web. Este artigo explicará um motivo frequente para a ocorrência desses erros e descreverá algumas ferramentas que podem ser usadas para depurar o problema. Esta explicação está focada no Web Gateway servindo instâncias do InterSystems IRIS, mas a mesma explicação deve se aplicar ao CSP Gateway servindo instâncias do Caché também.

O Problema:

A tentativa de carregar uma Aplicação Web (seja uma aplicação personalizada ou o Portal de Gerenciamento do Sistema) resulta em um dos seguintes erros (dependendo do seu navegador):

Adicionalmente, o arquivo CSP.log mostra:

Por que isso acontece

Para entender por que isso ocorre, precisamos analisar a arquitetura em que o Web Gateway opera:

Quando você tenta carregar sua aplicação em um navegador, o navegador envia uma requisição para o seu Servidor Web. O Servidor Web passa essa requisição para o Web Gateway. O Web Gateway então precisa se comunicar com o InterSystems IRIS para entender o que fazer com a requisição. Mas, como o Web Gateway reside fora do InterSystems IRIS (e pode estar em outra máquina), exigimos que o processo do Web Gateway se autentique no IRIS. Isso é o mesmo que exigimos para quaisquer outros novos processos que se conectam ao IRIS, como conexões ODBC remotas ou uma sessão de Terminal IRIS local simples.

A razão para os erros acima ocorrerem durante o carregamento da aplicação é porque a autenticação do Web Gateway para o IRIS está falhando. A configuração do Web Gateway armazena, dentro do seu arquivo CSP.ini, um conjunto de credenciais para cada servidor InterSystems IRIS ao qual ele se conecta. Normalmente, essas credenciais são para o usuário “CSPSystem”, que é uma conta criada por padrão quando o IRIS é instalado. Essas credenciais são então usadas para tentar autenticar usando as configurações definidas para o Serviço %Service_WebGateway no IRIS.

Para obter mais informações sobre por que essa autenticação está falhando, você pode usar os recursos de Auditoria oferecidos pelo InterSystems IRIS. Dado que você provavelmente não pode usar o Portal de Gerenciamento neste momento, você pode usar a rotina ^SECURITY em uma Sessão de Terminal IRIS para configurar a Auditoria e visualizar o Log de Auditoria.

Primeiramente, você precisará Habilitar a Auditoria, caso ela ainda não tenha sido habilitada:

Em seguida, certifique-se de que a Auditoria para o Evento %System/%Login/LoginFailure esteja habilitada:

Uma vez feito isso, você pode reproduzir o problema “Server Availability Error”. Isso deve resultar em um Evento de Auditoria LoginFailure sendo registrado, e você pode examinar os detalhes deste evento para descobrir mais:

A seção “Error message”deve fornecer mais informações sobre por que estamos vendo o LoginFailure. Problemas comuns incluem“User CSPSystem is disabled” ou “Service %Service_WebGateway is not enabled for Password authentication”, que sugerem alterações que devem ser feitas nas Configurações de Segurança do IRIS.

O problema mais comum que vemos no WRC é que a autenticação está falhando devido a "Senha Inválida". Isso significa que a senha do CSPSystem armazenada no Web Gateway não corresponde à senha do CSPSystem armazenada no IRIS.

 Como corrigir o problema

Agora que a entrada do Log de Auditoria fornece uma indicação clara de qual é a incompatibilidade entre o Web Gateway e o InterSystems IRIS, você precisa corrigir essa incompatibilidade. As credenciais do CSPSystem no IRIS podem ser modificadas através do menu ^SECURITY em uma sessão de Terminal.

Existem algumas maneiras de modificar as credenciais do CSPSystem armazenadas no Web Gateway. A maneira mais fácil é acessar o Portal de Gerenciamento do Web Gateway, que está documentado aqui: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCGI_oper_config . Uma vez que você tenha carregado a Página de Gerenciamento do Web Gateway, você pode editar as credenciais usadas para autenticar no IRIS clicando no link Acesso ao Servidor e editando as configurações de Segurança de Conexão para o Servidor relevante.

Se você não conseguir acessar a Página de Gerenciamento do Web Gateway, então você terá que editar o arquivo CSP.ini. O arquivo CSP.ini deve ter seções para cada Definição de Servidor configurada no Web Gateway. Você deverá ser capaz de editar as seções “Username” e “Password” na seção relevante para corresponder ao que está armazenado no InterSystems IRIS. Observe que a seção [SYSTEM] controla o acesso ao Portal de Gerenciamento do Web Gateway, não uma instância do InterSystems IRIS chamada [SYSTEM].

Por exemplo, se você tiver uma definição para o servidor “Test” onde a senha do CSPSystem estiver incorreta:

You can edit the CSP.ini file to have the correct plaintext password:

Da próxima vez que você tentar autenticar do Web Gateway para o InterSystems IRIS, a senha será criptografada:

Discussão (0)1
Entre ou crie uma conta para continuar