温馨提示×

CentOS上GitLab如何配置HTTPS加密

小樊
36
2025-12-21 10:49:42
栏目: 网络安全

在CentOS上为GitLab配置HTTPS加密,你需要一个SSL证书。你可以选择购买一个证书,或者使用Let’s Encrypt免费生成一个证书。以下是使用Let’s Encrypt生成证书并为GitLab配置HTTPS的步骤:

  1. 安装Certbot和Nginx: 首先,确保你的系统已经安装了EPEL仓库。如果没有,请运行以下命令安装:

    sudo yum install epel-release
    

    接下来,安装Certbot和Nginx:

    sudo yum install certbot python2-certbot-nginx
    
  2. 获取SSL证书: 运行以下命令,将yourdomain.com替换为你的域名:

    sudo certbot --nginx -d yourdomain.com
    

    Certbot将会自动配置Nginx,并生成一个SSL证书。在安装过程中,Certbot会要求你输入邮箱地址、同意服务条款等。

  3. 配置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
    

    保存并关闭文件。

  4. 重新配置并重启GitLab: 运行以下命令,使更改生效:

    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
    

现在,你的GitLab实例应该已经通过HTTPS提供服务了。访问https://yourdomain.com,你应该能看到GitLab的登录页面。

0