Harbor 1.5.0配置https

安装harbor

创建证书

mkdir-p /data/cert
cd /data/cert

私有证书

#生成一个私有证书
openssl req -newkey rsa:4096 -nodes-sha256-keyout ca.key -x509-days365-out ca.crt
​
# openssl req作用生成证书请求文件、验证证书请求文件和创建根CA。
# -newkey args :创建一个新的证书请求,并创建私钥。args的格式是"rsa:bits",其中bits是rsa密钥的长度,如果bits省略了(即-newkey rsa),则长度默认该值为2048。
# -nodes:默认情况下,openssl req自动创建私钥时都要求加密并提示输入加密密码,指定该选项后则禁止对私钥文件加密。
# -keyout filename:指定自动创建私钥时私钥的存放位置。
# -sha256:指定对创建请求时提供的申请者信息进行数字签名时的单向加密算法。
# -x509 :指定该选项时,将生成一个自签署证书,而不是创建证书请求。一般用于测试或者为根CA创建自签名证书。
# -days n  :指定自签名证书的有效期限,默认30天,需要和"-x509"一起使用。
# -out filename:证书请求或自签署证书的输出文件。

公有证书

# 生成证书请求文件、验证证书请求文件和创建根CA,实现IP注册主机证书!
openssl genrsa -out server.key  4096
openssl req -new-key server.key -subj"/CN=192.168.50.12"-out server.csr
echo subjectAltName = IP:192.168.50.12 > extfile.cnf
openssl x509 -req-days365-in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial-extfile extfile.cnf -out server.crt
​
​
# -subj args  :替换或自定义证书请求时需要输入的信息,并输出修改后的请求信息。args的格式为"/type0=value0/type1=value1...",CN一般是证书注册机构名称。
# subjectAltName:使用者备用名称。

编辑harbor配置文件

访问协议。默认是http,如果搭建https的仓库就改为https。

ui_url_protocol = https

使用docker,从 harbor 私有仓库拉取镜像

harbor服务器本地登陆常见登陆harbor报错如下:

报错1:Error response from daemon: Get : x509: certificate signed by unknown authority

报错2:Error response from daemon: Get : dial tcp 192.168.156.102:443: connect: connection refused

报错1解决方式centos7系统以上报错的原因是因为自签的证书没有加入到系统级别信任,只需要将.crt拷贝到/etc/pki/ca-trust/source/anchors/reg.名称.crt,然后需要执行命令update-ca-trust,最后重启harbor和docker即可!

ubunt16.04系统以上报错的原因是因为自签的证书没有加入到系统级别信任,只需要将.crt拷贝到/usr/local/share/ca-certificates/reg.名称.crt,然后执行命令update-ca-certificates,最后重启harbor和docker即可!

报错2解决方式

添加daemon.json

客户端将证书追加到自己的ca-bundle.crt认证文件中cat server.crt >> /etc/pki/tls/certs/ca-bundle.crt

添加daemon.json

使用Containerd,从 harbor 私有仓库拉取镜像

vim /etc/containerd/config.toml

[plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.50.80"]
          endpoint = ["https://192.168.50.80"]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.50.80".tls]
          insecure_skip_verify = false
          ca_file = "/etc/containerd/cert/ca.crt"
        [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.50.80".auth]
          username = "admin"
          password = "123456"

添加公共证书

mv server.crt /etc/containerd/cert/ca.crt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值