[SOLUCIONADO] Problemas para navegar Arai-Usuarios

Buenas!
Tenemos levantado el stack de traefik y de arai usuarios.
No podemos navegar el proyecto.
Descartamos que sea un problema de firewall.
No encontramos ningún error en los logs de los contenedores.
¿Qué podemos mirar para saber qué está fallando?
Gracias!
Agustina

Hola, como va?

Primero que nada, mandanos los logs de los contenedores de usuarios para ver si levantaron correctamente.

Cuando se experimentan problemas de “no poder navegar” en gral es un problema en el proxy (traefik). Te hago un par de preguntas:

Saludos!

Tenemos habilitado el dashboard de traefik, pero no puedo navegarlo tampoco.
Usamos certificados que generamos y firmamos con easy-rsa (https://github.com/OpenVPN/easy-rsa).

Van los logs de los contenedores de usuarios

IDP
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.0.2.23. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.0.2.23. Set the 'ServerName' directive globally to suppress this message
[Thu Aug 20 14:14:28.605070 2020] [mpm_prefork:notice] [pid 8] AH00163: Apache/2.4.43 (Unix) PHP/7.3.14 configured -- resuming normal operations
[Thu Aug 20 14:14:28.605392 2020] [core:notice] [pid 8] AH00094: Command line: 'httpd -D FOREGROUND'


API
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.0.2.25. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.0.2.25. Set the 'ServerName' directive globally to suppress this message
[Thu Aug 20 14:14:08.226512 2020] [mpm_prefork:notice] [pid 8] AH00163: Apache/2.4.43 (Unix) PHP/7.3.14 configured -- resuming normal operations
[Thu Aug 20 14:14:08.226563 2020] [core:notice] [pid 8] AH00094: Command line: 'httpd -D FOREGROUND'

IDM
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.0.2.20. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.0.2.20. Set the 'ServerName' directive globally to suppress this message
[Thu Aug 20 14:13:50.915291 2020] [mpm_prefork:notice] [pid 7] AH00163: Apache/2.4.43 (Unix) PHP/7.3.14 configured -- resuming normal operations
[Thu Aug 20 14:13:50.917163 2020] [core:notice] [pid 7] AH00094: Command line: 'httpd -D FOREGROUND'


Hola Agustina,

en este hilo estamos tratando algo similar, fijate si podes acceder a traefik tal como menciona Sergio.

Saludos

Hola!
El log de traefik no registra nada sobre mi intento de acceso. A nivel info y debug me muestra lo siguiente:

time="2020-08-31T17:38:59Z" level=debug msg="Filtering disabled container" providerName=docker container=usuarios-api-nk0jcnlz3otjr7qekec9ic40w time="2020-08-31T17:38:59Z" level=debug msg="Filtering disabled container" container=usuarios-memcached-server-04n6fy7nzb6ogtkgdwmignehp providerName=docker time="2020-08-31T17:38:59Z" level=debug msg="Configuration received from provider docker: {\"http\":{\"routers\":{\"api\":{\"middlewares\":[\"auth\"],\"service\":\"api@internal\",\"rule\":\"Host(traefik.portal-p.unlu.edu.ar)\"},\"http-catchall\":{\"entryPoints\":[\"web\"],\"middlewares\":[\"redirect-to-https@docker\"],\"service\":\"dummy-svc\",\"rule\":\"host(portal-p.unlu.edu.ar)\"},\"idp\":{\"entryPoints\":[\"web-secured\"],\"middlewares\":[\"security-headers@file\"],\"service\":\"idp\",\"rule\":\"Host(portal-p.unlu.edu.ar) \\u0026\\u0026 PathPrefix(/idp)\",\"tls\":{}},\"idp-resources\":{\"entryPoints\":[\"web-secured\"],\"service\":\"idp-resources\",\"rule\":\"Host(portal-p.unlu.edu.ar) \\u0026\\u0026 PathPrefix(/resources)\",\"tls\":{}},\"usuarios\":{\"entryPoints\":[\"web-secured\"],\"middlewares\":[\"security-headers@file\"],\"service\":\"usuarios\",\"rule\":\"Host(portal-p.unlu.edu.ar) \\u0026\\u0026 PathPrefix(/usuarios)\",\"tls\":{}},\"usuarios_toba\":{\"entryPoints\":[\"web-secured\"],\"middlewares\":[\"security-headers@file\"],\"service\":\"usuarios_toba\",\"rule\":\"Host(portal-p.unlu.edu.ar) \\u0026\\u0026 PathPrefix(/toba_gestion)\",\"tls\":{}}},\"services\":{\"dummy-svc\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.28:9999\"}],\"passHostHeader\":true}},\"idp\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.7:80\"}],\"passHostHeader\":true}},\"idp-resources\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.7:80\"}],\"passHostHeader\":true}},\"usuarios\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.5:80\"}],\"passHostHeader\":true}},\"usuarios_toba\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.5:80\"}],\"passHostHeader\":true}}},\"middlewares\":{\"auth\":{\"basicAuth\":{\"users\":[\"traefik:$apr1$lHenvbg3$tctoF8Q6Iq0HtVmRLqc3S.\"]}},\"redirect-to-https\":{\"redirectScheme\":{\"scheme\":\"https\"}}}},\"tcp\":{},\"udp\":{}}" providerName=docker time="2020-08-31T17:38:59Z" level=info msg="Skipping same configuration" providerName=docker time="2020-08-31T17:39:14Z" level=debug msg="Filtering disabled container" providerName=docker container=usuarios-api-nk0jcnlz3otjr7qekec9ic40w time="2020-08-31T17:39:14Z" level=debug msg="Filtering disabled container" providerName=docker container=usuarios-memcached-server-04n6fy7nzb6ogtkgdwmignehp time="2020-08-31T17:39:14Z" level=debug msg="Configuration received from provider docker: {\"http\":{\"routers\":{\"api\":{\"middlewares\":[\"auth\"],\"service\":\"api@internal\",\"rule\":\"Host(traefik.portal-p.unlu.edu.ar)\"},\"http-catchall\":{\"entryPoints\":[\"web\"],\"middlewares\":[\"redirect-to-https@docker\"],\"service\":\"dummy-svc\",\"rule\":\"host(portal-p.unlu.edu.ar)\"},\"idp\":{\"entryPoints\":[\"web-secured\"],\"middlewares\":[\"security-headers@file\"],\"service\":\"idp\",\"rule\":\"Host(portal-p.unlu.edu.ar) \\u0026\\u0026 PathPrefix(/idp)\",\"tls\":{}},\"idp-resources\":{\"entryPoints\":[\"web-secured\"],\"service\":\"idp-resources\",\"rule\":\"Host(portal-p.unlu.edu.ar) \\u0026\\u0026 PathPrefix(/resources)\",\"tls\":{}},\"usuarios\":{\"entryPoints\":[\"web-secured\"],\"middlewares\":[\"security-headers@file\"],\"service\":\"usuarios\",\"rule\":\"Host(portal-p.unlu.edu.ar) \\u0026\\u0026 PathPrefix(/usuarios)\",\"tls\":{}},\"usuarios_toba\":{\"entryPoints\":[\"web-secured\"],\"middlewares\":[\"security-headers@file\"],\"service\":\"usuarios_toba\",\"rule\":\"Host(portal-p.unlu.edu.ar) \\u0026\\u0026 PathPrefix(/toba_gestion)\",\"tls\":{}}},\"services\":{\"dummy-svc\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.28:9999\"}],\"passHostHeader\":true}},\"idp\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.7:80\"}],\"passHostHeader\":true}},\"idp-resources\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.7:80\"}],\"passHostHeader\":true}},\"usuarios\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.5:80\"}],\"passHostHeader\":true}},\"usuarios_toba\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.0.1.5:80\"}],\"passHostHeader\":true}}},\"middlewares\":{\"auth\":{\"basicAuth\":{\"users\":[\"traefik:$apr1$lHenvbg3$tctoF8Q6Iq0HtVmRLqc3S.\"]}},\"redirect-to-https\":{\"redirectScheme\":{\"scheme\":\"https\"}}}},\"tcp\":{},\"udp\":{}}" providerName=docker time="2020-08-31T17:39:14Z" level=info msg="Skipping same configuration" providerName=docker

Hola Agustina,

Tienen que tratar de llegar al dashboard del traefik. Si eso no funciona, hay algo que les estará faltando en su configuración o algo que están equivocando.

Revisen si el dns “traefik.portal-p.unlu.edu.ar” está mapeado a la IP donde corre el(los) nodo máster de docker swarm. Ya sea que cargaron por DNS el registro o que lo pones en el /etc/hosts de tu pc (lo que implica que sólo de tu PC es accesible ese mapeo de dominio).

Sergio: Gracias por toda la ayuda. Yo estoy con Agustina probando las mismas instalaciones, te comento que ahora hicimos lo siguiente:

  • Levantamos un nuevo server “vacío” (sin deploys ni nada viejo)
  • Seguimos todo estos pasos: https://expedientes.siu.edu.ar/docs/redes/ para tratar de ver Traefik con su Dashboard habilitado
  • Volvemos al mismo lugar que antes te comentaba agustina:
    • Según netstat, el puerto 80 esta en uso por docker
    • Según docker ps, Traefik esta en linea
    • Los logs de Traefik muestran solo info y debug
    • Hicimos los pasos del /etc/hosts en nuestras PC y eso no funciono tampoco
    • Hicimos los pasos del /etc/hosts en el propio server y probamos con wget, tampoco funciono (obtenemos un “failed: Connection refused.”)

Los logs son idénticos a los que te paso Agustina anteriormente
Los archivos yml tmb son los mismos, lo único, probamos no mapear 8080:80 ni 8443:443 sino directamente 80:80 y 443:443 (aprovechando el server “nuevo”). Esto tampoco anduvo ni tiro errores de ninguna clase.

Ya no sabemos que mas mirar. Si llegamos a encontrar algo nuevo avisamos.

Logramos encontrar cuál era el problema.
Para hacer el mapeo de puertos, 8080->80 y 8443->443 , en el archivo traefik.yml habíamos modificado no solo las líneas en ports, sino también las siguientes líneas dentro de profiling:
- --entrypoints.web.address=:8080 - --entrypoints.web-secured.address=:8443
Esto falla.
Para que funcione, solo hay que modificar
ports: - "8080:80" - "8443:443"
y dejar
- --entrypoints.web.address=:80 - --entrypoints.web-secured.address=:443

Con esto ya pudimos navegar el dashboard de traefik

Para poder navegar arai-usuarios además tuvimos que modificar los certificados que configuramos como secretos.
Nosotros estamos usando certificados autofirmados.
Nos da error el navegador cuando el archivo .key contiene clave.
Tuvimos que sacarla con el siguiente comando (le pasamos el nombre del archivo_con_clave.key y el nombre que le queremos poner al nuevo archivo, sin clave)
openssl rsa -in archivo_con_clave.key -out archivo_sin_clave.key

-Bajamos el stack de usuarios
-Eliminamos los secretos que teniamos cargados y cargamos los nuevos.
-Volvimos a desplegar el stack.

Con eso llegamos a la página de logueo de arai usuarios.

Excelente Agustina y Tomás!

Gracias por los comentarios sobre el avance, ayuda a que el resto una salida si se encuentra en la misma posición. Saludos!