解决虚拟机部署Harbor出现证书错误的问题

2024 年 8 月 13 日 星期二(已编辑)
/ , ,
5
摘要
用户在部署Harbor时遇到TLS证书路径配置问题,使用acme.sh生成的证书缺少证书链导致docker命令行登陆时提示证书错误,解决方法是将acme.sh生成的fullchain.cer内容复制粘贴到domain.cer中,然后重启Harbor服务。
这篇文章上次修改于 2024 年 8 月 13 日 星期二,可能部分内容已经不适用,如有疑问可询问作者。

解决虚拟机部署Harbor出现证书错误的问题

​ 其实这个问题已经不是第一次遇到了,而且每次也能预见到以后还会遇到相同的问题,但是就是懒得记下,这次吸取了教训记录下来。

​ Harbor在部署的时候开启TLS需要指定证书的路径,配置文件需要填写 certificateprivate_key。我是使用的 acme.sh 用于生成证书:

acme.sh --issue -d <domain> --standalone --force

执行成功之后会在对应目录生成 domain.cerdomain.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服务即可

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...