gitlab實現https及管理員密碼找回

尹正杰發表於2024-12-05

                                              作者:尹正傑

版權宣告:原創作品,謝絕轉載!否則將追究法律責任。

目錄
  • 一.gitlab實現https
    • 1.實現https概述
    • 2.gitlab實現https實戰案例
  • 二.找回gitlab忘記的密碼(可用於破解別人的gitlab伺服器)
    • 1.官方文件
    • 2.實戰案例

一.gitlab實現https

1.實現https概述

gitlab如果用於不安全的網路,建議使用https協議。

官方文件:
	https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https

2.gitlab實現https實戰案例

	(1)建立證書存放目錄
[root@ubuntu11.yinzhengjie.com ~]# mkdir /etc/gitlab/ssl


	(2)將公司的證書解壓放在證書目錄中,此處使用了我個人的域名
[root@ubuntu11.yinzhengjie.com ~]# unzip www.yinzhengjie.com_nginx.zip -d /etc/gitlab/ssl/


	(3)修改gitlab的配置檔案
[root@ubuntu11.yinzhengjie.com ~]# vim /etc/gitlab/gitlab.rb 
...
# 注意協議變成了https,而且域名要和證書的名稱一致喲~
external_url 'https://www.yinzhengjie.com'
# 是否啟用nginx相關配置
nginx['enable'] = true
# 設定客戶端最大傳輸訊息大小限制
nginx['client_max_body_size'] = '1000m'
# 是否將http重定向到https
nginx['redirect_http_to_https'] = true
# 將80埠重定向到https,將所有請求80的都跳轉到443
nginx['redirect_http_to_https_port'] = 80
# 指定證書檔案
nginx['ssl_certificate'] = "/etc/gitlab/ssl/www.yinzhengjie.com_nginx/www.yinzhengjie.com_bundle.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/www.yinzhengjie.com_nginx/www.yinzhengjie.com.key"


	(4)重新編譯gitlab,使得配置生效
[root@ubuntu11.yinzhengjie.com ~]# gitlab-ctl reconfigure


	(5)修改Windows和Linux的hosts檔案解析
# gitlab證書配置
10.0.0.11   www.yinzhengjie.com


	(6)訪問gitlab服務
如下圖所示。

二.找回gitlab忘記的密碼(可用於破解別人的gitlab伺服器)

1.官方文件

推薦閱讀:
	https://docs.gitlab.com/ee/security/reset_user_password.html#reset-the-root-password

2.實戰案例

	(1)在gitlab的字元終端控制檯介面修改密碼
[root@ubuntu11.yinzhengjie.com ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux]
 GitLab:       15.6.7 (063acfb7f87) FOSS
 GitLab Shell: 14.13.0
 PostgreSQL:   13.8
------------------------------------------------------------[ booted in 17.47s ]  # 此步驟可能需要17秒左右才能開啟喲~
Loading production environment (Rails 6.1.6.1)
irb(main):001:0> 
irb(main):002:0> user = User.where(id: 1).first  # 找到id為1的使用者,下面說第一個使用者是root
=> #<User id:1 @root>
irb(main):003:0> 
irb(main):004:0> user.password="12345678"  # 將root使用者密碼重置為"12345678"
=> "12345678"
irb(main):005:0> 
irb(main):006:0> user.password_confirmation="12345678"  # 將root使用者名稱密碼再次確認設定為"12345678"
=> "12345678"
irb(main):007:0> 
irb(main):008:0> user.save  # 儲存配置
=> true
irb(main):009:0> 
irb(main):010:0> quit  # 退出終端
[root@ubuntu11.yinzhengjie.com ~]# 


	(2)訪問gitlab的WebUI
如上圖所示,使用咱們重置後的密碼進行登入即可。

相關文章