解决虚拟机部署Harbor出现证书错误的问题
其实这个问题已经不是第一次遇到了,而且每次也能预见到以后还会遇到相同的问题,但是就是懒得记下,这次吸取了教训记录下来。
Harbor在部署的时候开启TLS需要指定证书的路径,配置文件需要填写 certificate 和 private_key。我是使用的 acme.sh 用于生成证书:
acme.sh --issue -d <domain> --standalone --force执行成功之后会在对应目录生成 domain.cer 和 domain.key 等多个文件,只需要将文件路径替换到配置里面即可。
在通过浏览器访问地址时是没有问题的,但是我们在使用 docker 命令行登陆时会提示证书错误:
Login did not succeed, error: Error response from daemon: Get "https://<domain>/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority这是由于 acme.sh 生成的 domain.cer 文件并没有包含证书链,我们需要将证书链加进去,操作如下:
将 acme.sh 生成的 fullchain.cer 内容复制粘贴到 domain.cer里面,重启 Harbor服务即可