gitlab实现https及管理员密码找回

                                              作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.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
如上图所示,使用咱们重置后的密码进行登录即可。
posted @ 2024-12-05 00:06  尹正杰  阅读(23)  评论(0编辑  收藏  举报