Harbor使用公网证书

Posted 琦彦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Harbor使用公网证书相关的知识,希望对你有一定的参考价值。

Harbor使用公网证书

申请公网证书

申请阿里云免费证书

因为Harbor使用nginx做代理,因此在公网证书审核通过后,在证书下载面板,单击Nginx服务器操作列的下载。

下载解压后您将会获得以下文件:

  • PEM格式的证书文件

    PEM格式的证书文件是采用Base64编码的文本文件,您可以根据需要将证书文件修改成其他格式。

    关于证书格式转换的具体操作,请参见如何转换证书格式?

  • KEY格式的证书私钥文件

8750173_harborfly.site.key
8750173_harborfly.site.pem

修改harbor.yml文件

上传证书到服务器某个目录,然后修改certificate和private_key


# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
#hostname: reg.mydomain.com
# 修改为你的公网域名
hostname: harborfly.site
 
https:
#   # https port for harbor, default is 443
  port: 443
#   # The path of cert and key files for nginx
  certificate: /opt/certs/8750173_harborfly.site.pem
  private_key: /opt/certs/8750173_harborfly.site.key

重启harbor

# 重新生成harbor配置
./prepare
# 重启harbor组件
docker-compose -f /opt/harbor/docker-compose.yml up  -d --force-recreate

测试harbor的https

[root@gv213 ~]# curl https://harborfly.site/v2/_catalog
"errors":["code":"UNAUTHORIZED","message":"unauthorized to list catalog: unauthorized to list catalog"]


# 登录
docker login -uadmin -pSugon@Harbor123 harborfly.site

# 镜像拉取
[root@gv214 ~]# docker pull harborfly.site/cpu/fly:latest
latest: Pulling from cpu/fly
Digest: sha256:33616e9ebde35628be84f01921cd8e793e617f9597a0c019cd892d421626efab
Status: Downloaded newer image for harborfly.site/cpu/fly:latest
harborfly.site/cpu/fly:latest


# 镜像推送
[root@gv214 ~]# docker tag goharbor/harbor-exporter:v2.2.2 harborfly.site/cpu/goharbor/harbor-exporter:v666
您在 /var/spool/mail/root 中有邮件
[root@gv214 ~]# docker push harborfly.site/cpu/goharbor/harbor-exporter:v666
The push refers to repository [harborfly.site/cpu/goharbor/harbor-exporter]
f8aa70a31f23: Pushed 
6d51d6a4915d: Pushed 
d78d26f146cd: Pushed 
928a3b9fae29: Pushed 
65b25307a005: Pushed 
v666: digest: sha256:acb56a9e6e09fec1306baf6a3740d1aebc29860423e9e66f570f1d1fd17e203c size: 1369

公网域名如何解析到内网服务器

首先DNS的作用是:客户端向dns服务器发送域名解析的请求dns服务器将对应的ip返回给客户端。
所以你只需要保证两个前提
1、你域名解析的p地址是可以访问到的不论是内网还是外网
2、访问这个域名的客户端可以正常访问到dns服务器(如果客户端压根不能连接外网,那只能自己搭
建内网的dns或者在host中定义)

方式一: 内网DNS服务器,增加配置

内网中搭建DNS服务器,将IP地址和域名在内网DNS中进行绑定,

方式二:修改内网主机上的host文件

/etc/hosts文件中,增加配置

[root@gv213 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# 增加域名映射
10.6.6.213 harborfly.site

以上是关于Harbor使用公网证书的主要内容,如果未能解决你的问题,请参考以下文章

harbor仓库搭建

Harbor安全:cfssl工具为Harbor颁发https证书

harbor客户端证书问题

harbor镜像仓库-https访问配置

Cloud ❀ 构建Docker仓库Harbor过程详解(配置文件全参解析注释)

部署harbor并实现https(SAN签发证书)