网络资源转载麻烦贴链接
访问gitlab应用程序可以使用SSL进行保护,以防止未经授权访问存储库中的数据。尽管CA认证的SSL证书允许通过CA验证信任,但只要每个客户采取一些额外步骤来验证您的网站的身份,自签名证书也可以提供相同级别的信任验证。我将在本节末尾提供有关实现这一点的指示。
要通过SSL保护您的应用程序,您基本上需要两件事:
使用CA认证证书时,CA将向您提供这些文件。使用自签名证书时,您需要自己生成这些文件。如果您拥有CA认证的SSL证书,请跳至加强服务器安全部分。
生成自签名证书
生成自签名SSL证书涉及一个简单的3步程序。
步骤1:创建服务器私钥
openssl genrsa -out gitlab.key 2048
步骤2:创建证书签名请求(CSR)
openssl req -new -key gitlab.key -out gitlab.csr
步骤3:使用私钥和CSR对证书进行签名
openssl x509 -req -days 3650 -in gitlab.csr -signkey gitlab.key -outgitlab.crt
恭喜!您现在生成了一个有效期为10年的SSL证书。
加强服务器安全
本节为您提供加强服务器安全性的说明。为了实现这一点,我们需要生成更强大的DHE参数。
openssl dhparam -out dhparam.pem 2048
以上这个文件需要生成一定的时间。。需等待。。我已经被坑了。。
root@docker# openssl dhparam -outdhparam.pem 2048
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
一定要等它生成完成。。否则玩不起。。。
生成完成的四个文件如下
dhparam.pem gitlab.csr
gitlab.crt.bak gitlab.key
上面生成的四个文件,我们需要安装gitlab.key,gitlab.crt以及dhparam.pem文件在服务器gitlab。CSR文件不是必需的,但确保您安全地备份文件(以防再次需要)。
该gitlab应用程序配置为查找SSL证书的默认路径是/home/git/data/certs,这可以然而使用来改变SSL_KEY_PATH,SSL_CERTIFICATE_PATH而SSL_DHPARAM_PATH配置选项。
创建一个名称为 certs 的文件夹
创建完成的如: /volume1/docker/gitlab/certs
把生成完成的 四个文件拷贝到 certs 文件夹
GITLAB_HTTPS true 和 SSL_SELF_SIGNED true
启动gitLab
可用了 https 访问了。
生成阿里云证书百度一下 教程 阿里云SSL 证书
接下来
把下载好的阿里云证书
有如下几个文件
看到官网说 要crt 格式的 文件可以直接将pem 直接修改扩展名。不需要转换
21434941160283.key dhparam.pem gitlab.csr
21434941160283.pem gitlab.crt.bak gitlab.key.bak
mv gitlab.crt gitlab.crt.bak mvgitlab.key gitlab.key.bak
Mv 214349411960283.pem gitlab.crt
Mv 21434941160283.key gitlab.key
其他两个文件不要修改 ,大工告成
去群辉套件中心启动gitlab 吧
之前为了搞gitlab 研究了一晚上。还是没能成功。第二天偶然看到一个网站有这样描述便试了一下。没想到成功了非常感谢。
原网址
https://stackoverflow.com/questions/31791247/enable-ssl-on-gitlab-with-docker-on-synology-nas
https://github.com/sameersbn/docker-gitlab/tree/v8.0.3#strengthening-the-server-security