無法透過 Google Chrome 登入 GitLab Web UI

無法透過 Google Chrome 登入 GitLab Web UI

我一直在嘗試在我的本地網路上運行的 CentOS 7 伺服器上設定 GitLab,這樣我在下學期就有地方可以儲存和同步我的文件和專​​案。我按照找到的綜合包安裝的安裝說明進行操作這裡

現在,設定完成後,我無法以 root 使用者身分登入。我發現我可以使用 Microsoft Edge 進行身份驗證,但 Google Chrome 不起作用。我斷言,無論我是透過 IP 還是位址(在路由器 DNS 伺服器中本地分配)訪問該站點,行為都是相似的。當我嘗試使用 Chrome 登入時,網頁應用程式掛起並永久加載。

我使用 gitlab-ctl 來檢查 NGINX 的日誌,當我使用 chrome 時,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"

我嘗試清除瀏覽歷史記錄/快取/cookie,希望它能解決我在配置 GitLab 時可能遇到的問題,但似乎沒有任何幫助。我應該要提到的是,我只透過防火牆開啟了連接埠 80,而不是連接埠 443。 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、 、頂級域名.lan未在以下域名註冊IANA 的 TLD 資料庫。顯然,如果網域不是官方 TLD,某些瀏覽器將不允許某些類型的網域連線(在本例中 Chrome 不允許 POST 方法)。

現在,在我的問題中,我說透過 IP 存取也不起作用。我相信這個問題是在我配置 GitLab 時引起的,並將其附加到的域指定為gitlab.lan.我預期 GitLab 會使用該位址呈現指向自身的連結。這樣,它會嘗試 POST 來判斷gitlab.lan使用者是透過 IP 還是網域存取該網站。

解決方案是使用有效的 TLD 而不是.lan網站網域(.com.net等...)。

關於哪些瀏覽器在訪問網站之前驗證網域 TLD,Chrome 似乎時好時壞,而 Edge 似乎根本不驗證。里程似乎有所不同,我希望行為未定義或定期更改,因此我不會在這裡記錄哪些瀏覽器的行為。

相關內容