在CentOS上为GitLab安装SSL证书的步骤如下:
openssl genrsa -out /etc/gitlab/ssl/gitlab.key 2048
openssl req -new -key /etc/gitlab/ssl/gitlab.key -out /etc/gitlab/ssl/gitlab.csr
openssl x509 -req -days 3650 -in /etc/gitlab/ssl/gitlab.csr -signkey /etc/gitlab/ssl/gitlab.key -out /etc/gitlab/ssl/gitlab.crt
编辑GitLab配置文件:
打开 /etc/gitlab/gitlab.rb
文件,找到以下配置项并修改:
external_url 'https://gitlab.example.com'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
将 gitlab.example.com
替换为你的实际域名。
重新配置并重启GitLab:
gitlab-ctl reconfigure
验证SSL证书安装:
访问 https://gitlab.example.com
,确保浏览器显示安全锁图标,表示SSL证书安装成功。
如果你使用Docker部署GitLab,可以按照以下步骤操作:
创建并挂载SSL证书目录:
mkdir -p /srv/docker/gitlab/gitlab/certs
cp /etc/gitlab/ssl/gitlab.key /srv/docker/gitlab/gitlab/certs/
cp /etc/gitlab/ssl/gitlab.crt /srv/docker/gitlab/gitlab/certs/
cp /etc/gitlab/ssl/dhparams.pem /srv/docker/gitlab/gitlab/certs/
chmod 400 /srv/docker/gitlab/gitlab/certs/gitlab.key
更新 docker-compose.yml
文件:
在 docker-compose.yml
文件中添加以下内容:
services:
gitlab-server:
image: 'gitlab/gitlab-ce:latest'
container_name: gitlab-server
...
environment:
GITLAB_HTTPS: "true"
SSL_SELF_SIGNED: "true"
...
volumes:
- /srv/docker/gitlab/gitlab/certs:/etc/gitlab/ssl
重启GitLab容器:
docker-compose restart gitlab-server
完成以上步骤后,你的CentOS上的GitLab应该已经通过SSL证书安全地运行了。请确保将示例域名替换为你自己的域名,并正确配置了服务器IP地址。