gitlab设置ssl证书

PVE下有个turnkey-gitlab模板,可以在lxc容器里安装gitlab,安装完成后通过控制台初始化,设置gitlab的root密码。然后就可以使用了,提交的时候权限会有问题,设置Protected branches好像能解决。想通过端口转发让外网访问,https安全一点,需要配置ssl证书。我是拨号上网,虽有公网IP但是不能固定,所以不能用Let's Encrypt。只能用已有的免费证书。

需要改动的在 /etc/gitlab/gitlab.rb

#设置域名
external_url 'https://xx.xxx.xxxx' 
#关闭 Let's Encrypt
letsencrypt['enable'] = false
letsencrypt['auto_renew'] = false
#设置证书位置    
nginx['ssl_certificate'] = "/etc/gitlab/ssl/xx.xxx.xxxx.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/xx.xxx.xxxx.key"

然后 gitlab-ctl reconfigure就可以了

关于HTTPS的设置

前两月获得过一个免费的SSL证书,一直没时间弄,这几天有点时间设置了下。从网站上下载的证书包含三个文件(.cer .key .crt),如果是Apache三个文件直接使用,编辑站点对应的站点配置文件,如:apache安装目录/conf/extra/httpd-ssl.conf, 修改内容如下

    <VirtualHost www.domain.com:443>    
        DocumentRoot "/var/www/html"    
        ServerName www.domain.com    
        SSLEngine on    
        SSLCertificateFile          证书文件路径/_www.domain.com.cer  
        SSLCertificateKeyFile    证书文件路径/_www.domain.com.key    
        SSLCertificateChainFile 证书文件路径/_www.domain.com_ca.crt  
    </VirtualHost>

如果是Nginx,配置里只要两个文件,需要将cer文件内容复制到crt文件的头部,然后配置如下

阅读剩余部分...