Error al ejecutar operación Administrar Personas - Acceso al sistema

Hola, buen día.

Estamos realizando la integración de Guaraní v 3.21.3 con Arai Usuarios, ya realizamos todas las configuraciones que indica la guía pero tenemos un problema en la operación “Administrar personas → Acceso al sistema”, al querer ejecutar esa operación para asociar los usuarios de Guaraní con Arai nos arroja el siguiente error:

Debe configurar el acceso al servicio web de SIU-Araí para obtener los usuarios disponibles. Más info…

El error.log del apache arroja da este error:

[Tue Jul 02 09:47:10.725009 2024] [php7:notice] [pid 237576] [client 192.168.1.113:49674] guarani_error: Debe configurar el acceso al servicio web de SIU-Ara\xed para obtener los usuarios disponibles. \n[TRAZA]\n\t\n\tfabrica_guarani::error \nArchivo: /usr/local/proyectos/guarani/php/nucleo/_lib/fabrica_guarani.php, lInea 82 \n\t\n\tguarani_nucleo::error \nArchivo: /usr/local/proyectos/guarani/php/operaciones/matriculas/personas/ci_edi_personas.php, lInea 44 \n\t\n\tci_edi_personas->conf__pantalla_acceso_sistema \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/toba_componente.php, lInea 221 \n\t\n\ttoba_componente->invocar_callback \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 617 \n\t\n\ttoba_ci->pre_configurar \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 633 \n\t\n\ttoba_ci->configurar_dep \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 475 \n\t\n\ttoba_ci->dependencia \nA…SIGUE…, referer: https://guarani-desa.um.edu.ar/guarani/3.21/aplicacion.php?ah=st6683f6c9900796.16955318&ai=guarani||37000023rroja lo siguiente al ejecutar la operación:

Desde un navegador estoy probando la api de usuarios me responden ok y me traen resultados correctos estas URLs:

https://siu.um.edu.ar/api-usuarios/v1/info

[

{

“nombre”: “Arai-Usuarios”,

“version”: “v3.2.4”,

“api_version”: “1.3”,

“api_major”: 1,

“api_minor”: 3

}

]

https://siu.um.edu.ar/api-usuarios/v1/api-docs trae la info ok

https://siu.um.edu.ar/api-usuarios/v1/usuarios trae la info ok

https://siu.um.edu.ar/api-usuarios/v1/cuentas trae la info ok

Pero desde la maquina donde está instalado Siu Guarani (cliente) intento acceder a estas URLs con curl, usando el comando curl -v --anyauth -u ‘*******:’******** ‘https://siu.um.edu.ar/api-usuarios/v1/info’ )

Y me arroja el siguiente error:

  • SSL certificate problem: unable to get local issuer certificate

  • Closing connection

curl: (60) SSL certificate problem: unable to get local issuer certificate

Si corro el mismo comando pero con la opción –k para que no valide el certificado la api me responde sin problema.

Del lado de Arai Usuarios el log de la usuarios-api no registra nada, como que no llega el GET.

Podrían ayudarnos? Nos estará faltando configurar algún certificado en la maquina cliente?

Muchas gracias.

Hola, ya pudimos resolver el inconveniente.

El problema es que faltaba agregar el certificado intermedio en Traefik. Por eso cuando consultábamos la API desde navegadores respondía bien ya que el navegador no requería ese certificado, pero cuando se consultaba desde Guarani o Curl, estos si lo requerían, por eso nunca llegaba el GET a la API de Usuarios.

Para generar la nueva cadena certificado que se configura en traefik utilizamos el comando:

cat certificado-servidor.pem certificado-intermedio.pem > certificado-traefik.pem

En traefik borramos el cert y el key:

docker config rm traefik_tls_cert
docker secret rm traefik_tls_key

Luego los volvimos a crear:

docker config create traefik_tls_cert certificado-traefik.pem
docker secret create traefik_tls_key privkey.key

Luego realizaos el deploy de traefik nuevamente y funciono ok.

Saludos

Hola Vero! Cómo estás?

Sobre este tema existe el siguiente hilo.

Allí se trató el mismo inconveniente y se pudo encontrar la solución.
Prueben lo que se indica allí y coméntennos si les funcionó o si continúan con el inconveniente.

Saludos!

Hola Martin. como estas?

Ya pudimos solucionar el inconveniente.

El problema es que faltaba agregar el certificado intermedio en Traefik (estamos usando certificados de Godaddy, con Letencrypt no tuvimos este inconveniente). Por eso cuando consultábamos la API desde navegadores respondía bien ya que el navegador no requería ese certificado, pero cuando se consultaba desde Guaraní o Curl, estos si lo requerían, por eso nunca llegaba el GET a la API de Usuarios.

Para generar la nueva cadena de certificado que se configura en traefik utilizamos el comando:

cat certificado-servidor.pem certificado-intermedio.pem > certificado-traefik.pem

En traefik borramos el cert y el key:

docker config rm traefik_tls_cert
docker secret rm traefik_tls_key

Luego los volvimos a crear:

docker config create traefik_tls_cert certificado-traefik.pem
docker secret create traefik_tls_key privkey.key

Luego realizaos el deploy de traefik nuevamente y funciono ok.

Muchas gracias.

Saludos