为 GitLab 启用 Let's Encrypt 颁发的 SSL 证书(2)

以上命令会在每周一的 3 点尝试更新证书,即如果证书将在 30 日内过期,则会被更新,否则将不会被更新;
同时还会发送 HUP 信号给 nginx 进程,以使其加载新证书。

注意将 certbot-auto 的路径替换为实际的路径。

在 GitLab 中应用证书 配置 GitLab 使用 HTTPS 协议

修改 /etc/gitlab/gitlab.rb 文件,配置 external_url 为 https 开头的地址,如:

external_url 'https://gitlab.zzz.buzz'

如果需要将经过 HTTP 的流量重定向至 HTTPS 还需要在 /etc/gitlab/gitlab.rb 文件中,进行如下配置:

nginx['redirect_http_to_https'] = true

配置证书

配置 GitLab 将要使用的证书有两种方式,一种是将之前通过 Let's Encrypt 申请的证书放置到 GitLab 默认要求的配置,如下文链接证书所示;另一种则是修改 GitLab 的配置文件,将证书的路径指向之前通过 Let's Encrypt 申请的证书,如下文修改配置所示。两种方式选一即可。

配置方法一:链接证书

根据通过 Omnibus 安装的 GitLab 的默认配置,会寻找存放在 /etc/gitlab/ssl/ 目录下的 和 文件,其中的 应当替换为在上文中 external_url 里设置的域名。

我们可以通过如下命令来将之前通过 Let's Encrypt 申请的证书链接到所需的位置。

# 切换至 root 用户(如已是 root 用户,则无需此步) sudo su - # 使用 root 用户执行以下命令 mkdir -p /etc/gitlab/ssl chmod 700 /etc/gitlab/ssl cd /etc/gitlab/ssl ln -s ../../letsencrypt/live/www.example.com/fullchain.pem ln -s ../../letsencrypt/live/www.example.com/privkey.pem

配置方法二:修改配置

修改 GitLab 的配置文件 /etc/gitlab/gitlab.rb,添加以下内容:

nginx['ssl_certificate'] = "/etc/letsencrypt/live/www.example.com/fullchain.pem" nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/www.example.com/privkey.pem"

启用新配置

配置完成后,使用如下命令启用新配置:

sudo gitlab-ctl reconfigure

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9b9c7639c7a71c819450aac5393e463e.html