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