以上命令会在每周一的 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