CentOS7 Harbor Https 配置

2017-10-27  本文已影响990人  搬砖_工程师

之前以http搭建了一个harbor作为测试玩乐,这次正式使用harbor作为生产环境,将之前的harbor更改为https。

一、修改配置文件

image.png

二、生成证书

按照官方文档Harbor生成证书。

 openssl req \
    -newkey rsa:4096 -nodes -sha256 -keyout ca.key \
    -x509 -days 365 -out ca.crt  
openssl req \
    -newkey rsa:4096 -nodes -sha256 -keyout yourdomain.com.key \
    -out yourdomain.com.csr
openssl x509 -req -days 365 -in yourdomain.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out yourdomain.com.crt

以上yourdomain.com替换为要使用的FQDN必须和harbor中的hostname以及ssl_cert配置相同。

三、证书配置以及安装

cp yourdomain.com.crt /data/cert/
cp yourdomain.com.key /data/cert/ 

四、总结

重启之后发现报错:

image.png

原因:由于原来采用http方式连接因此在docker.service文件中加入了允许不安全连接,将其去掉。

#vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry=192.168.6.113
#去掉--insecure-registry这个参数即可。

#重启docker:
#systemctl daemon-reload
#systemctl restart docker.service

再次启动登录测试

docker login xxx.com
image.png

通过将证书复制到docker自有的目录下并重启Harbor和docker即可登录
` sudo cp xxx.crt /etc/docker/cert.d/xxxx(你的注册地址如不存在创建即可)/

在 Red Hat (CentOS etc) 上, 命令如下:
cp yourdomain.com.crt /etc/pki/ca-trust/source/anchors/reg.yourdomain.com.crt
update-ca-trust

在加入了根证书后用浏览器访问出现证书错误,于是用脚本再次生成新的证书并导入依旧证书错误,终于在harbor.cfg中找到了原因(没有仔细查看配置说明,走了好多弯路),配置文件中标注了如果使用自签名将核实远程证书设为off

image.png
这里默认为on,我用的是自签证书应该为off,到此浏览器可以正常访问了
签名证书也可使用脚本生成这里搬运了github上的脚本 openssl签名生生脚本
上一篇 下一篇

猜你喜欢

热点阅读