Google Chrome을 통해 GitLab 웹 UI에 로그인할 수 없습니다.

Google Chrome을 통해 GitLab 웹 UI에 로그인할 수 없습니다.

저는 로컬 네트워크에서 실행 중인 CentOS 7 서버에 GitLab을 설정하려고 노력해 왔으며 다가오는 학기 동안 파일과 프로젝트를 저장하고 동기화할 수 있는 곳이 있었습니다. 찾은 옴니버스 패키지 설치에 대한 설치 지침을 따랐습니다.여기.

이제 설정한 후 루트 사용자로 로그인할 수 없습니다. 이후 Microsoft Edge를 사용하여 인증할 수 있지만 Google Chrome이 작동하지 않는다는 사실을 발견했습니다. 나는 IP 또는 주소(라우터 DNS 서버에 로컬로 할당됨)를 통해 사이트에 액세스하는지 여부에 관계없이 동작이 비슷하다고 주장했습니다. Chrome을 사용하여 로그인하려고 하면 웹 애플리케이션이 중단되고 계속 로드됩니다.

NGINX의 로그를 확인하기 위해 gitlab-ctl을 사용했는데 크롬을 사용할 때 POST 요청이 진행되지 않는 것 같습니다. 다음은 몇 가지 샘플 출력입니다.

==> /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"

GitLab을 구성하는 동안 멈췄을 수 있는 문제를 해결하기 위해 검색 기록/캐시/쿠키를 삭제해 보았으나 아무 도움도 되지 않았습니다. 포트 443이 아닌 방화벽을 통해 포트 80만 열었다는 점을 언급해야 합니다. HTTP를 통해서만 GitLab을 실행할 계획입니다. Microsoft Edge가 사이트에 성공적으로 액세스하고 인증한 것은 GitLab을 이러한 방식으로 구성하는 것이 문제가 되지 않아야 함을 나타냅니다.

문제가 무엇인지 아는 사람이 있습니까?

나는 CentOS Linux release 7.6.1810 (Core), GitLab Version 12.1.6-ee Revision d05ee0a9c12, 그리고Google Chrome 76.0.3809.87 (Official Build) (64-bit)

답변1

비슷한 문제가 발생하는 경우 원인을 찾았습니다.

의 최상위 도메인이 에 등록되어 있지 않습니다 gitlab.lan..lanIANA의 TLD 데이터베이스. 분명히 일부 브라우저는 도메인이 공식 TLD가 아닌 경우 도메인에 대한 특정 유형의 연결(이 경우 Chrome은 POST 방법을 허용하지 않음)을 허용하지 않습니다.

이제 내 질문에서 IP를 통한 액세스도 작동하지 않는다고 말했습니다. GitLab을 구성하고 연결할 도메인을 gitlab.lan. 나는 GitLab이 해당 주소를 사용하여 자신에 대한 링크를 렌더링할 것으로 예상합니다. 이렇게 하면 gitlab.lan사용자가 IP 또는 도메인을 통해 사이트에 액세스했는지 여부를 POST하려고 시도합니다 .

해결책은 .lan웹사이트 도메인( .com, .net등...) 대신 유효한 TLD를 사용하는 것이었습니다.

웹 사이트에 액세스하기 전에 어떤 브라우저가 도메인 TLD의 유효성을 검사하는지에 대해 Chrome은 실패하고 Edge는 전혀 유효성을 검사하지 않는 것 같습니다. 마일리지는 다양하고 동작이 정의되지 않거나 정기적으로 변경될 것으로 예상하므로 여기서는 어떤 브라우저가 어떤 방식으로 동작하는지 문서화하지 않겠습니다.

관련 정보