在CentOS上为GitLab配置HTTPS加密,你需要一个SSL证书。你可以选择购买一个证书,或者使用Let’s Encrypt免费生成一个证书。以下是使用Let’s Encrypt生成证书并为GitLab配置HTTPS的步骤:
安装Certbot和Nginx: 首先,确保你的系统已经安装了EPEL仓库。如果没有,请运行以下命令安装:
sudo yum install epel-release
接下来,安装Certbot和Nginx:
sudo yum install certbot python2-certbot-nginx
获取SSL证书:
运行以下命令,将yourdomain.com替换为你的域名:
sudo certbot --nginx -d yourdomain.com
Certbot将会自动配置Nginx,并生成一个SSL证书。在安装过程中,Certbot会要求你输入邮箱地址、同意服务条款等。
配置GitLab使用HTTPS:
打开GitLab的配置文件/etc/gitlab/gitlab.rb,找到以下部分:
# GitLab uses nginx as a reverse proxy to handle HTTP traffic.
# You can configure the Nginx server as follows.
nginx['listen_port'] = 80
nginx['ssl_certificate'] = "/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
nginx['ssl_protocols'] = "TLSv1 TLSv1.1 TLSv1.2"
nginx['ssl_ciphers'] = "HIGH:!aNULL:!MD5"
修改这些设置,使GitLab使用HTTPS:
nginx['listen_port'] = 443
nginx['ssl_certificate'] = "/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
nginx['redirect_http_to_https'] = true
保存并关闭文件。
重新配置并重启GitLab: 运行以下命令,使更改生效:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
现在,你的GitLab实例应该已经通过HTTPS提供服务了。访问https://yourdomain.com,你应该能看到GitLab的登录页面。