自定义 Harbor 令牌服务
默认情况下,Harbor 使用其自己的私钥和证书与 Docker 客户端进行身份验证。本主题介绍如何选择性地自定义配置以使用您自己的密钥和证书。
Harbor 要求 Docker 客户端使用令牌访问 Harbor 注册中心。生成令牌的过程类似于 Distribution Registry v2 authentication。首先,您向令牌服务发出请求以获取令牌。令牌由私钥签名。之后,您使用令牌向 Harbor 注册中心发出新请求,Harbor 注册中心使用根证书捆绑包中的公钥验证令牌。然后 Harbor 注册中心授权 Docker 客户端推送和拉取镜像。
- 如果您还没有证书,请按照 生成根证书 中的说明使用 openSSL 生成根证书。
- 如果您已经有证书,请转到 向 Harbor 提供证书。
生成根证书
-
生成私钥。
openssl genrsa -out private_key.pem 4096
-
生成证书。
openssl req -new -x509 -key private_key.pem -out root.crt -days 3650
-
输入要包含在证书请求中的信息。
您即将输入的内容称为专有名称或 DN。 有很多字段,但您可以将其中一些留空。 对于某些字段,有默认值。 如果您输入
.
,则该字段留空。- 国家名称(两位字母代码)[AU]
- 州或省份名称(全名)[Some-State]
- 城市名称(例如,城市)[]
- 组织名称(例如,公司)[Internet Widgits Pty Ltd]
- 组织单位名称(例如,部门)[]
- 通用名称(例如,服务器 FQDN 或您的姓名)[]
- 电子邮件地址 []
运行这些命令后,文件
private_key.pem
和root.crt
将在当前目录中创建。
向 Harbor 提供证书
请参阅 运行安装脚本 或 重新配置 Harbor 并管理 Harbor 生命周期 以安装或重新配置 Harbor。 运行 ./install
或 ./prepare
后,Harbor 会生成多个配置文件。 您需要将原始私钥和证书替换为您自己的密钥和证书。
-
替换默认密钥和证书。
假设新密钥和证书位于
/root/cert
中,并且/srv/harbor/data
被指定为data_volume
,请运行以下命令cd config/ui cp /root/cert/private_key.pem /srv/harbor/data/secret/core/private_key.pem cp /root/cert/root.crt /srv/harbor/data/secret/registry/root.crt
-
返回
make
目录,并使用以下命令启动 Harbordocker compose up -d
-
推送和拉取镜像到 Harbor 并从中拉取镜像,以检查您自己的证书是否有效。
在本页中
贡献