標籤:
首先安裝omnibus gitlab,參照
https://about.gitlab.com/downloads/
參照以下兩篇文章結合配置:
https://certbot.eff.org/#centosrhel7-nginx
https://webnugget.de/setting-up-gitlab-with-free-ssl-certs-from-lets-encrypt-on-ubuntu-14-04/
1.安裝certbot。
$ sudo yum install epel-release$ sudo yum install certbot
2.配置gitlab:
$ vi /etc/gitab/gitlab.rb
更改以下配置項:
external_url "http://gityu.com/"nginx[‘redirect_http_to_https‘] = truenginx[‘ssl_certificate‘]= "/etc/letsencrypt/live/gityu.com/fullchain.pem"nginx[‘ssl_certificate_key‘] = "/etc/letsencrypt/live/gityu.com/privkey.pem"
nginx[‘custom_gitlab_server_config‘]="location ^~ /.well-known {\n alias /var/www/letsencrypt/.well-known;\n}\n"
重啟gitlab:
$ gitlab-ctl reconfigure
3.產生認證:
$ certbot certonly
按照步驟配置如:
使用webroot外掛程式,填寫網域名稱:gityu.com,
根路徑:/var/www/letsencrypt
最後成功安裝,有效期間90天。
4.生效https://:
$ vi /etc/gitlab/gitlab.rb
更改:
external_url "https://gityu.com/"
重啟gitlab使生效:
$ gitlab-ctl reconfigure
此時可以訪問gityu.com會自動重新導向到https://gityu.com,並且認證為綠色:
5.建立crontab job,自動更新認證。
$ vi /etc/cron.monthly/renew-ssl-certificates
填入以下內容:
certbot renew --quiet
這樣每個月更新一次,也可以使用crontab -e來建立crontab job。
注意,使用此命令之前先使用以下命令驗證是否可以成功更新:
$ certbot renew --dry-run
如果命令失敗,那麼可以使用以下文章中的方法作為備用:
https://webnugget.de/setting-up-gitlab-with-free-ssl-certs-from-lets-encrypt-on-ubuntu-14-04/
即使用以下指令碼來自動更新:
#!/bin/bash/bin/letsencrypt certonly -c /root/letsencrypt-config/gitlab.ini --renew-by-defaultgitlab-ctl restart
Omnibus Gitlab CentOS 7使用Let's Encrypt配置免費ssl