
Estou tentando configurar o GitLab em um servidor CentOS 7 que estou executando em minha rede local, para ter um lugar para armazenar e sincronizar meus arquivos e projetos durante o próximo semestre. Eu segui as instruções de instalação do pacote omnibus encontradoaqui.
Agora, depois de configurá-lo, não consegui fazer login como usuário root. Desde então, descobri que posso usar o Microsoft Edge para autenticação, mas o Google Chrome não funciona. Afirmei que o comportamento é semelhante, independentemente de eu acessar o site via IP ou endereço (atribuído localmente no servidor DNS do roteador). Quando tento fazer login usando o Chrome, o aplicativo da web trava, carregando continuamente.
Usei o gitlab-ctl para verificar os logs do NGINX e parece que a solicitação POST simplesmente não está sendo processada quando uso o Chrome. Aqui está um exemplo de saída:
==> /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"
Tentei limpar o histórico de navegação/cache/cookies na esperança de resolver algo que pode ter travado enquanto eu estava configurando o GitLab, mas nada pareceu ajudar. Devo mencionar que abri apenas a porta 80 via firewalld, não a porta 443. Pretendo executar o GitLab apenas em HTTP. O sucesso do Microsoft Edge no acesso e autenticação no site indica para mim que configurar o GitLab dessa forma não deve ser um problema.
Alguém sabe qual pode ser o problema?
Estou correndo CentOS Linux release 7.6.1810 (Core)
, GitLab Version 12.1.6-ee Revision d05ee0a9c12
eGoogle Chrome 76.0.3809.87 (Official Build) (64-bit)
Responder1
Para qualquer pessoa que esteja enfrentando um problema semelhante, encontrei a causa:
O domínio de topo de gitlab.lan
, .lan
, não está registrado entre osBanco de dados de TLDs da IANA. Aparentemente, alguns navegadores não permitem certos tipos de conexões (neste caso, o Chrome não permitiu o método POST) para domínios se o domínio não for um TLD oficial.
Agora, na minha pergunta, eu disse que o acesso via IP também não estava funcionando. Acredito que esse problema foi causado quando configurei o GitLab, especificando o domínio ao qual ele seria anexado como gitlab.lan
. Espero que o GitLab esteja renderizando links para si mesmo usando esse endereço. Dessa forma, ele tentaria fazer um POST para saber gitlab.lan
se o usuário acessou o site via IP ou domínio.
A solução foi usar um TLD válido em vez .lan
do domínio do site ( .com
, .net
, etc...).
Em relação a quais navegadores validam TLDs de domínio antes de acessar um site, o Chrome parece ser um acerto e um fracasso e o Edge parece não validar nada. A quilometragem parece variar e espero que o comportamento seja indefinido ou mude regularmente, por isso não documentarei quais navegadores se comportam de determinada maneira aqui.