Buenas tardes,
Hace unos pocos días realicé la migración de Kolla 4.7.0 hacia Kolla 4.10.0 , siguiendo la migración que estoy realizando del SIU Guarani 3.23 .
En general no tuve ningún error, pero cuando quiero utilizar la API REST para la vinculación de las encuestas entre Kolla y Guarani tengo unos cuantos errores o cosas que me llaman la atención;
cuando ingreso a la URL/encuestas/kolla/rest e ingreso con el usuario y clave que utilizo, en el dropdown de “Servers” que está arriba del todo, me aparece lo siguiente;
”Servers https://URL:80/encuestas/kolla/rest ” . Me llama la atención que me ponga la URL completa, cuando en la version 4.7 en ese dropdown solamente aparecia “HTTP”, o “HTTPS” , tambien me llama la atencion que agregue el ‘:80’ indicando el puerto, cuando eso tampoco lo hacia (y justamente en este caso seria incorrecto ya que tenemos que utilizar HTTPS).
1.5) Siguiendo este punto, si yo quiero consumir alguna de las URL de la API (por ejemplo, https://URL:80/encuestas/kolla/rest/v1/info ) , el navegador me arroja un error de ssl, evidentemente causado por el ‘:80’ , en este caso para solucionarlo tengo que sacar manualmente el ‘:80’ , pero esto solo cuando estoy accediendo desde el navegador
En la version 4.7, todos los items de la API REST se encontraban en la ruta /usr/local/proyectos/kolla/php/rest , pero en la 4.10 ahora la ruta es ‘/usr/local/proyectos/kolla4.10/php/rest/v1’ , el problema es que cuando quiero acceder a alguna URL de la API (https://URL/encuestas/kolla/rest/v1/info ) , el sistema me arroja la siguiente respuesta ;
”
{
“error”: 500,
“mensaje”: “500 Internal Server Error”,
“descripcion”: “Error Interno en el servidor: No se encuentra el recurso para info en el directorio /usr/local/proyectos/kolla/php/rest. ¿Ruta mal formada?”
}
”
al parecer, es como que el sistema sigue buscando los items en la ruta …/rest , cuando tendría que ingresar a /rest/v1 . Aunque en realidad la pantalla principal de /encuestas/kolla/rest si muestra a todos los items dentro de la carpeta ‘v1’ , y en la ‘api-docs’ también figura de esa forma
Necesitaría alguna solución para estos problemas, ya que al estar presentes, la vinculación de Kolla con Guarani no se realiza de forma correcta.
No descarto que sea algún problema con la migración que yo realicé desde kolla 4.7 a kolla 4.10
Te pido si nos podés detallar un poco más los pasos que siguieron para obtener el error de los puntos 1 y 1.5, si hacen una llamada a la api a https://URL/encuestas/kolla/rest/v1/info les responde bien? La conexión con Guaraní no les está funcionando? No me queda claro donde se está agregando el :80
No sé muy bien a que te referis con “pasos que siguieron” ; si te referis a la migración del Kolla 4.7 a 4.10 , yo seguí los pasos que están en la documentación (https://documentacion.siu.edu.ar/wiki/SIU-Kolla/Version_4.10.0/actualizacion ) , salvo la parte de ‘Anexo: Actualización en modo Ecosistema’ , que esos archivos los fui revisando luego de la migración, el resto seguí el paso a paso y en la migración como tal no hubo ningún problema.
Si te referís a en donde ocurre el error, adjunto capturas del “home” de URL/encuestas/kolla/rest , que es donde está visualmente el error .
Luego, si yo hago una llamada FUERA DE GUARANI a la api a esa URL de ejemplo que me pusiste si responde bien (era el punto 2 ya arreglado) . Pero en Guarani la conexión no está funcionando tampoco, aunque primeramente prefiero solucionar los puntos 1 y 1.5 , para luego pasar a ver la vinculación entre Guarani y Kolla
El ‘:80’ quizás se está agregando en algún .ini o .conf , por ejemplo algún archivo tipo ‘/path_kolla/instalacion/web_server.ini’ , que este se encarga de cambiar entre HTTP y HTTPS las URL BASE de la API REST
a qué te referis con “cambiar entre http y https” las url? Entiendo que están trabajando con https (es lo correcto) y así deberían estar configurados tanto Kolla como Guaraní.
¿Siguieron esta documentación para configurar las conexiones rest? Tengan presente que donde dice <path_kolla> es la ruta de carpetas en la estructura del server, no una url.
De igual manera al configurar el cliente Guaraní, tanto gestión como autogestión deben asegurarse que cuando configuran la url incluya el https asi como el nro de versión de la api (v1) para acceder correctamente.
En instancia.ini la variable full_url si debería tener la url completa, y debería estar con https.
¿Cuál es el error que estas teniendo desde Guaraní? La información del mensaje de error y los logs suele aportar información útil para diagnosticar el problema.
En realidad lo que había dicho antes es un ejemplo; el archivo ‘/path_kolla/instalacion/web_server.ini’ tiene este contenido;
1
2 [server_config]
3 https = “on”
el valor de https puede ser “off” , u “on” . Por defecto viene en “off”, y lo que hace es utilizar el protocolo HTTP en todos los items de la API (ejemplo; http://kolla.ffyb.uba.ar/encuestas/kolla/rest/v1/info ) . En cambio si está en “on” , va a colocar HTTPS en todos los items ( https://kolla.ffyb.uba.ar/encuestas/kolla/rest/v1/info )
Lo que quería decir, es que quizás hay algún archivo de ese estilo , que quizás tiene algo configurado que hace que en todas las URL les ponga el ‘:80’
Luego, revisé la documentación de la configuración del cliente para Guarani y corregí lo que estaba incorrecto, pero igualmente me sigue arrojando error en Guarani Gestion (por ejemplo), en el item de Vinculacion Formulario SIU-Kolla , me arroja el error; “Debe configurar el acceso al servicio web de SIU-Kolla para obtener los formularios disponibles. “
Adjunto archivo de los logs del servidor de Guarani
si bien se ve cortada la traza, según lo que se alcanza a ver en el log el acceso desde Guaraní no está fallando por tener el puerto 80 en la URL. Se ve que se arma la url correctamente con https y si se usa la URL que se ve ahí en el navegador llega correctamente sin agregar otros puertos.
Entre las cosas a revisar que me faltó mencionar en el mensaje anterior es que para trabajar con Guaraní y Kolla en Https correctamente hay que configurar el parámetro en el archivo instancia.ini
Te consulto: ¿están utilizando algún proxy reverso? En caso que si habría que revisar la configuración porque puede estar interviniendo en ese cambio de urls.
Claro sí. Tengo entendido que sí utilizamos un proxy reverso, tuvimos que colocar en los archivos hosts (ruta; ‘/etc/hosts’) la direccion IP del modulo que le corresponda (en Guarani pusimos la ip del Kolla, y en Kolla la ip del Guarani) para que se puedan comunicar correctamente
Y en realidad por lo que estuve viendo, el error de la Vinculacion que adjunté en el log, se produce porque el puerto 443 (HTTPS) NO está abierto en ambos servidores, ya estamos viendo para habilitarlos. Una vez hecho esto, deberían de comunicarse correctamente
Para ir cerrando, entonces el tema del ‘:80’ que se pone en las URL de la API REST no debería de influir en el funcionamiento?
quizas les funcione igual, pero parece ser una muestra de que en algún lado hay algún armado o rescritura de URLs que no está bien.
Primero vean de resolver el problema del puerto 443, y luego revisar de nuevo qué pasa tanto al intentar conectar desde Guaraní como al acceder a swagger.