RT
acme.sh的安装和使用方法在这里 https://hostloc.com/thread-995335-1-1.html
gitlab的letsencrypt目前不支持Google Public Certificate,所以尝试使用acme.sh来代替
以下设置的路径均为ubuntu使用apt安装的gitlab所对应的路径,如果使用docker版本或者yum,需要自行去官网确认一下各目录位置
首先编辑/etc/gitlab/gitlab.rb找到letsencrypt相关设置部分,关闭gitlab自带的letsencrypt和自动更新
- letsencrypt[‘enable’] = false
- letsencrypt[‘auto_renew’] = false
复制代码
然后在后面加入如下设置
- nginx[‘custom_gitlab_server_config’] = "location /.well-known/acme-challenge/ {n root /var/opt/gitlab/nginx/www/; n}n"
- nginx[‘redirect_http_to_https’] = true
- nginx[‘redirect_http_to_https_port’] = 80
复制代码
然后执行gitlab-ctl reconfigure重新配置gitlab
然后签发证书,这里的webroot需要和上面custom_gitlab_server_config的root保持一致
- ~/.acme.sh/acme.sh -d gitlab.ni-co.moe
- –webroot /var/opt/gitlab/nginx/www
- –issue
- –force
复制代码
然后安装证书
- ~/.acme.sh/acme.sh –install-cert -d 域名
- –key-file /etc/gitlab/ssl/域名.key
- –fullchain-file /etc/gitlab/ssl/域名.crt
- –reloadcmd "gitlab-ctl restart nginx"
复制代码
|