Harbor上传镜像报错
1、报错信息
1 |
|
Docker 客户端尝试连接的 Harbor 服务器 SSL/TLS 证书中只使用了“Common Name”字段。在过去,SSL/TLS 证书中使用“Common Name”字段来指定 SSL/TLS 证书所保护的主机名或域名。然而,现在这种做法已经被视为不够安全,因为它容易受到 DNS 劫持、伪造证书等攻击。
为了解决这个问题,您需要为您的 Harbor 服务器生成一个新的 SSL/TLS 证书,并在证书中添加正确的“Subject Alternative Names”(SAN)字段。
subjectAltName(Subject Alternative Name)是用于 SSL/TLS 证书中的一个扩展属性,它允许您在证书中指定可使用的主机名或 IP 地址列表。在过去,SSL/TLS 证书中只能包含一个“Common Name”字段,这个字段通常用于指定 SSL/TLS 证书所保护的主机名或域名。
然而,随着互联网发展,越来越多的网站需要使用不同的主机名或 IP 地址来提供服务。为了解决这个问题,subjectAltName 扩展属性被引入到 SSL/TLS 证书中,它允许您在证书中指定一个或多个可使用的主机名和 IP 地址。
具体来说,subjectAltName 可以包含以下类型的信息:
- DNS 名称:可以是完全限定的域名、通配符域名或本地主机名。
- IP 地址:可以是 IPv4 或 IPv6 地址。
- 其他类型:例如电子邮件地址、URI(统一资源标识符)等。
当客户端连接到使用 SSL/TLS 证书的服务器时,将会首先检查该证书中的 subjectAltName 是否包含所请求的主机名或 IP 地址。如果匹配成功,则客户端会信任该证书并建立安全连接,否则将拒绝连接并显示警告信息。
总之,subjectAltName 扩展属性允许您在 SSL/TLS 证书中指定多个可使用的主机名或 IP 地址,以便提供更加灵活和安全的服务。
2、解决方法
2.1 生成新的证书文件
使用 OpenSSL 工具为您的 Harbor 服务器生成一个新的 SSL/TLS 证书。例如,以下命令可以生成一个有效期为 3650天的自签名证书:
其中,mykey.pem
是私钥文件的名称,mycert.pem
是证书文件的名称,3650表示证书有效期为 3650天。
1 |
|
2.2 添加字段
在证书中添加正确的“Subject Alternative Names”(SAN)字段。可以使用 OpenSSL 的 reqexts
选项来完成这个任务。例如,以下命令可以为您的 Harbor 服务器的 IP 地址和主机名添加“Subject Alternative Names”字段
1 |
|
2.3 更改harbor的配置文件
将证书的路径改成刚才生成的
1 |
|
2.4 重启Harbor服务
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!