
He estado intentando configurar GitLab en un servidor CentOS 7 que ejecuto en mi red local para tener un lugar donde almacenar y sincronizar mis archivos y proyectos durante el próximo semestre. Seguí las instrucciones de instalación para la instalación del paquete general encontradoaquí.
Ahora, después de configurarlo, no pude iniciar sesión como usuario root. Desde entonces descubrí que puedo usar Microsoft Edge para autenticarme, pero Google Chrome no funciona. He afirmado que el comportamiento es similar independientemente de si accedo al sitio a través de IP o dirección (asignada localmente en el servidor DNS del enrutador). Cuando intento iniciar sesión con Chrome, la aplicación web se bloquea y se carga continuamente.
He usado gitlab-ctl para verificar los registros de NGINX y parece que la solicitud POST simplemente no se procesa cuando uso Chrome. Aquí hay algunos resultados de muestra:
==> /var/log/gitlab/nginx/gitlab_access.log <==
192.168.1.52 - - [18/Aug/2019:18:15:47 -0600] "GET / HTTP/1.1" 302 98 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362"
192.168.1.52 - - [18/Aug/2019:18:15:57 -0600] "POST /users/sign_in HTTP/1.1" 302 85 "http://192.168.1.2/users/sign_in" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362"
192.168.1.52 - - [18/Aug/2019:18:15:57 -0600] "GET / HTTP/1.1" 200 8684 "http://192.168.1.2/users/sign_in" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362"
192.168.1.52 - - [18/Aug/2019:18:16:03 -0600] "GET / HTTP/1.1" 200 8673 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362"
192.168.1.52 - - [18/Aug/2019:18:16:06 -0600] "GET /users/sign_out?nav_source=navbar HTTP/1.1" 302 97 "http://gitlab.lan/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362"
192.168.1.52 - - [18/Aug/2019:18:16:06 -0600] "GET /users/sign_in HTTP/1.1" 200 4718 "http://gitlab.lan/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362"
192.168.1.52 - - [18/Aug/2019:18:16:12 -0600] "POST /users/sign_in HTTP/1.1" 302 84 "http://gitlab.lan/users/sign_in" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362"
Intenté borrar el historial de navegación, el caché y las cookies con la esperanza de solucionar algo que pudo haberse atascado mientras configuraba GitLab, pero nada pareció ayudar. Debo mencionar que solo abrí el puerto 80 a través de firewalld, no el puerto 443. Planeo ejecutar GitLab solo a través de HTTP. El éxito de Microsoft Edge al acceder y autenticarse en el sitio me indica que configurar GitLab de esta manera no debería ser un problema.
¿Alguien sabe cuál podría ser el problema?
Estoy corriendo CentOS Linux release 7.6.1810 (Core)
, GitLab Version 12.1.6-ee Revision d05ee0a9c12
yGoogle Chrome 76.0.3809.87 (Official Build) (64-bit)
Respuesta1
Para cualquiera que experimente un problema similar, encontré la causa:
El dominio de nivel superior de gitlab.lan
, .lan
, no está registrado entre losBase de datos de TLD de la IANA. Aparentemente, algunos navegadores no permiten ciertos tipos de conexiones (en este caso, Chrome no permitió el método POST) a dominios si el dominio no es un TLD oficial.
Ahora, en mi pregunta, dije que el acceso vía IP tampoco funcionaba. Creo que ese problema se produjo cuando configuré GitLab, especificando el dominio al que se adjuntaría como gitlab.lan
. Supongo que GitLab estaba generando enlaces a sí mismo usando esa dirección. De esta manera, intentaría PUBLICAR gitlab.lan
si el usuario accedió al sitio a través de IP o dominio.
La solución fue utilizar un TLD válido en lugar .lan
del dominio del sitio web ( .com
,, .net
etc.).
Con respecto a qué navegadores validan los TLD de dominio antes de acceder a un sitio web, Chrome parece ser impredecible y Edge parece no validar en absoluto. El kilometraje parece variar y espero que el comportamiento no esté definido o cambie periódicamente, por lo que no documentaré qué navegadores se comportan de qué manera aquí.