赞
踩
本文作者 徐晓伟
git config --global http.sslVerify false
禁用ssl的验证如果有域名,可以使用域名申请免费的证书,下载 Nginx 证书即可
如果没有域名,可使用下列命令在 CentOS 上生成
创建证书文件夹
mkdir -p /etc/gitlab/ssl
cd /etc/gitlab/ssl
生成证书
# 以 CentOS 为例 # 如果出现 -bash: openssl: command not found,请安装 openssl:yum -y install openssl # 生成指定位数的 RSA 私钥:ca.key openssl genrsa -out ca.key 2048 # 根据 RSA 私钥,生成 crt 证书:ca.crt # CN:设置你要使用的域名 # -utf8:支持中文 openssl req -new -x509 -days 3650 -key ca.key -subj "/C=CN/ST=山东/L=青岛/O=徐晓伟工作室/OU=徐晓伟工作室/CN=192.168.80.14/emailAddress=xuxiaowei@xuxiaowei.com.cn" -out ca.crt -utf8 # openssl req -new -x509 -days 3650 -key ca.key -subj "/C=CN/ST=山东/L=青岛/O=徐晓伟工作室/OU=徐晓伟工作室/CN=gitlab.example.com/emailAddress=xuxiaowei@xuxiaowei.com.cn" -out ca.crt -utf8 # 生成 server.csr、server.key # CN:设置你要使用的域名 # -utf8:支持中文 openssl req -newkey rsa:2048 -nodes -keyout server.key -subj "/C=CN/ST=山东/L=青岛/O=徐晓伟工作室/CN=192.168.80.14" -out server.csr -utf8 # openssl req -newkey rsa:2048 -nodes -keyout server.key -subj "/C=CN/ST=山东/L=青岛/O=徐晓伟工作室/CN=gitlab.example.com" -out server.csr -utf8 # 生成 ca.srl、server.crt # subjectAltName:设置 DNS、IP openssl x509 -req -extfile <(printf "subjectAltName=IP:192.168.80.14") -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt # openssl x509 -req -extfile <(printf "subjectAltName=DNS:gitlab.example.com") -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
最终生成了:ca.crt、ca.key、ca.srl、server.crt、server.csr、server.key,其中 **server.crt **和 server.key 就是 Nginx 使用的证书
安装 vim
yum -y install vim
编辑 gitlab.rb 文件
vim /etc/gitlab/gitlab.rb
修改内容如下
# 填写你的域名,注意是https external_url 'https://192.168.80.14' # 如果使用的是域名,填写域名 # external_url 'https://gitlab.example.com' # 对应上方域名的证书 # 将证书放在 /etc/gitlab/ssl 文件夹中 # 如果使用的是阿里云等平台颁发的证书,此处可以使用 Nginx 证书,ssl_certificate 使用 .pem 文件 nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key" # http 重定向到 https nginx['redirect_http_to_https'] = true # 禁用 Let's Encrypt 颁发证书 letsencrypt['enable'] = false # 限制GitLab实例使用的IP(在使用域名时使用,注意浏览器缓存问题) # nginx['listen_addresses'] = ['192.168.80.14']
重新配置 GitLab
sudo gitlab-ctl reconfigure
查看GitLab各服务的状态
sudo gitlab-ctl status
日志
sudo gitlab-ctl tail nginx
修改DNS(或者在本地 hosts 将域名指向 GitLab服务器IP),访问 https://GitLab域名
即可(如果使用自己生成的证书,可能会提示* 您的连接不是私密连接*,忽略即可)。
更多关于极狐GitLab 信息和最佳实践,请搜索【极狐GitLab】。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。