Artículo
Jose Tomas Salvador · Abr 8, 2021 Lectura de 4 min

Mensaje "Error de disponibilidad del servidor" cuando se carga la aplicación web

En el Centro de Soporte Internacional (WRC), con frecuencia los clientes se ponen en contacto con nosotros porque su Web Gateway no puede publicar páginas web. En este artículo explicaré el motivo más frecuente por el que pueden producirse estos errores; y también explicaré algunas herramientas que se pueden utilizar para solucionar el problema. Esta explicación se centra en el Web Gateway que enlaza con las instancias de InterSystems IRIS, pero la misma explicación debería aplicar también a la CSP Gateway que enlaza con instancias de Caché.

El problema:

Al intentar cargar una Aplicación Web (ya sea una aplicación personalizada o el Portal de Administración del Sistema), se produce uno de los siguientes errores (dependiendo del navegador):

Además, el archivo CSP.log muestra:

Por qué sucede esto:

Para comprender por qué sucede esto, necesitamos echar un vistazo a la arquitectura en la que funciona el Web Gateway:

Cuando intentas cargar tu aplicación en un navegador, este envía una solicitud a tu servidor web. El servidor web transmite esta solicitud al Web Gateway. El Web Gateway entonces debe ponerse en contacto con InterSystems IRIS para saber qué hacer con la solicitud. Pero dado que el Web Gateway se encuentra fuera de InterSystems IRIS (y puede que incluso esté en otra máquina), necesitamos que el proceso del Web Gateway se autentifique con IRIS. Es lo mismo que requeriríamos para otros procesos nuevos que se conecten a IRIS, como conexiones remotas ODBC o una simple sesión local del terminal de IRIS.

La razón por la que estamos viendo los errores anteriores al cargar la aplicación es porque esta autenticación desde el Web Gateway a IRIS está fallando. La configuración del Web Gateway almacena dentro de su archivo CSP.ini un conjunto de credenciales para cada servidor InterSystems IRIS al que se conecta. Normalmente, estas credenciales son para el usuario "CSPSystem", que es una cuenta que se crea de forma predeterminada cuando se instala IRIS. Estas credenciales se utilizan para intentar autenticarse utilizando la configuración establecida para el servicio %Service_WebGateway en IRIS.

Para tener más información sobre por qué esta autenticación está fallando, puedes utilizar las funciones de la Auditoría ("Audit") que ofrece InterSystems IRIS. Como es probable que no puedas utilizar el Portal de Administración en este momento, puedes utilizar la rutina ^SECURITY en una sesión del terminal de IRIS para configurar la Auditoría y ver el Registro de Auditoría ("Audit log").

En primer lugar, tendrás que habilitar la auditoría ("Enable Auditing"), si aún no se ha habilitado:

A continuación, asegúrate de que la auditoría del evento %System/%Login/LoginFailure esté habilitada:

Una vez hecho esto, podrás reproducir el problema de "Error de disponibilidad del servidor". Esto debería resultar en el registro de un evento de auditoría LoginFailure, y puedes ver los detalles de este evento para saber más:

La sección "Mensaje de error" ("Error message") debería ofrecer más información sobre por qué estamos viendo el LoginFailure. Los problemas más habituales incluyen "El usuario CSPSystem está deshabilitado" o "El servicio %Service_WebGateway no está habilitado para la autenticación de la contraseña", lo que sugiere cambios que deben llevarse a cabo en la Configuración de Seguridad de IRIS.

El problema más común que vemos en el Centro de Soporte Internacional (WRC) es que la autenticación está fallando debido a que la "contraseña no es válida" ("Invalid password"). Esto significa que la contraseña de CSPSystem almacenada en el Web Gateway no coincide con la contraseña del CSPSystem guardada en IRIS.

Cómo solucionar el problema:

Ahora que la entrada del Registro de Auditoría ofrece una indicación clara de cuál es el desajuste entre el Web Gateway e InterSystems IRIS, es necesario arreglar ese desajuste. Las credenciales del CSPSystem que están del lado de IRIS se pueden modificar por medio del menú ^SECURITY, en una sesión del Terminal.

Hay varias formas de modificar las credenciales del CSPSystem almacenadas en el Web Gateway. La forma más fácil será acceder al Portal de Administración del Web Gateway, que se documenta aquí: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls.... Una vez cargada la Página de Administración del Web Gateway, puedes editar las credenciales utilizadas para autenticarse en IRIS haciendo clic en el enlace de Acceso al servidor y editando la configuración de Seguridad de la conexión para el servidor correspondiente.

Si no puedes acceder a la Página de Administración del Web Gateway, entonces te queda la edición del archivo CSP.ini. El archivo CSP.ini debe tener secciones para cada Definición de Servidor configurada en el Web Gateway. Deberías poder editar las secciones “Username” y “Password” en la sección correspondiente para que coincidan con lo que se almacena en InterSystems IRIS. Ten en cuenta que la sección [SYSTEM] controla el acceso al Portal de administración del Web Gateway, no a una instancia de InterSystems IRIS llamada [SYSTEM].

Por ejemplo, si tienes una definición para el servidor “Test” donde la contraseña del CSPSystem es incorrecta:

Puedes editar el archivo CSP.ini para obtener la contraseña correcta del texto simple:

La próxima vez que intentes autenticarte desde el Web Gateway a InterSystems IRIS, la contraseña estará cifrada:

00
2 0 0 18
Log in or sign up to continue