为人工 docker 回购使用多域证书

Using a multidomain certificate for artifactory docker repo

我有以下

a virtual docker repo  docker-virtual
a remote docker repo dockerhub
a local docker repo docker-local

docker-local 是默认的部署仓库。我可以使用多域证书在我的反向代理中配置虚拟存储库吗?

证书是否需要支持本地repo?

"Does the certificate need to support the local repo?"

不一定,只要您在 Artifactory 中使用虚拟 docker 存储库的 Default Deployment Repository 功能,您只需将一个注册表端点与客户端一起使用即可推送和拉取图像。

如果您要使用多个注册表端点,则通配符证书很好。例如,考虑这个 Nginx 配置片段和具体的 "server_name" 指令:

server {
   listen 443 ssl;
   listen 80 ;
   server_name ~(?<repo>.+)\.art-prod.com art-prod;
   ...
   rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/$repo//;
   ...
}

此处的正则表达式应捕获 URL 的子域部分,以便稍后在将 URL 从“/v2/”重写为包含实际存储库名称的 Artifactory API 的完整 URI。在这种情况下,您的配置将处理多个主机名,因此最好为 *.art-[= 使用通配符证书22=].