在 Debian 上给 GitLab 开启 HTTPS,通常有两种常见方式:
你可以使用:
sudo apt install certbot
sudo certbot certonly --webroot -w /var/www/html -d gitlab.example.com
证书位置:
/etc/letsencrypt/live/gitlab.example.com/fullchain.pem/etc/letsencrypt/live/gitlab.example.com/privkey.pem编辑配置文件:
sudo vim /etc/gitlab/gitlab.rb
关键配置:
external_url 'https://gitlab.example.com'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.example.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.example.com/privkey.pem"
如果是自签名证书:
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo ufw allow 443
sudo ufw allow 80
如果你 不用 GitLab 自带的 Nginx:
nginx['enable'] = false
web_server['external_users'] = ['www-data']
然后在外层 Nginx 配置 HTTPS,并 proxy_pass 到 gitlab-workhorse。
sudo mkdir -p /etc/gitlab/ssl
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/gitlab/ssl/gitlab.key \
-out /etc/gitlab/ssl/gitlab.crt
浏览器访问:
https://gitlab.example.com
如果你愿意,可以告诉我:
我可以直接给你一份 可用的配置示例。