GitLab-ce配置HTTPS協議訪問


本地生成https證書

我的gitlab安裝環境為Ubuntu 18.04,安裝好之后默認使用的是HTTP協議訪問;沒有HTTPS協議安全於是自己搞了搞,各種查資料啊,雖然中間也有不懂得地方,但是總算是成功了。接下來給大家詳細的描述一下步驟:

想要配置https協議,必須要有一個https的證書,由於我是在本地嘗試的,所以自己生成了一個證書

1、生成證書,建立權限並生成證書。

mkdir -p /etc/gitlab/ssl && chmod 700 /etc/gitlab/ssl && cd/etc/gitlab/ssl

2、創建服務器私鑰,需要輸入一個密碼,之后也會用到,我設置的123456

openssl genrsa-des3 -out server.key 1024

3、創建簽名的證書(csr)

openssl req -new -key server.key -out server.csr

在加載SSL支持的Nginx並使用上述私鑰時要除去剛才設置的口令:

先備份剛才的csr文件

cp server.key server.key.org

去除命令,直接覆蓋了server.key了

openssl rsa -in server.key.org -out server.key

最后標記證書使用上述私鑰和CSR:(把csr標記后轉換成了crt nginx要用key和crt文件)

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

做完這些,證書什么的就完成了,接下來修改配置文件

vim /etc/gitlab/gitlab.rb

需要修改的配置:

external_url"https://192.168.61.128"
nginx['redirect_http_to_https']= true
nginx['ssl_certificate']= "/etc/gitlab/ssl/server.crt"
nginx['ssl_certificate_key']= "/etc/gitlab/ssl/server.key"
# 下邊這三項不知道改不改,有的說改了,有的說沒改;僅供參考
nginx['enable'] = true
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80

最后執行

gitlab-ctl reconfigure

不用配置443端口,因為已經自動指向了。接下來看看成果吧,完美的https

 

 

正經的HTTPS證書版本,阿里雲的ssl證書

首先拿到兩個證書,一個是key文件,一個為pem文件。

將pem文件直接改為crt后綴的文件,哈哈。

創建/etc/gitlab/ssl目錄,然后在其中復制密鑰和證書:

sudo mkdir -p /etc/gitlab/ssl
sudo chmod 755 /etc/gitlab/ssl

將兩個證書放到ssl的目錄下,我是直接用sz,rz命令上傳的。

/etc/gtilab/gitlab.rb # 文件修改的內容

external_url "https://git.bjdvt.com"  # 外往訪問的地址
nginx['enable'] = true          
nginx['redirect_http_to_https'] = true
# 指向兩個證書文件的路徑  
nginx['ssl_certificate'] = "/etc/gitlab/ssl/git.bjdvt.com.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/git.bjdvt.com.key"

最后配置完記得

gitlab-ctl reconfigure

感覺不保險的話,那就在重啟一個gitlab:

gitlab-ctl restart

還有你的雲服務器的防火牆443的端口一定要開啟,不然無法訪問。我在此處掙扎了很久,很難受


gitlab官方配置地址:https://docs.gitlab.com/omnibus/settings/nginx.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM