harbor配置https(官方方法)原创
金蝶云社区-云社区用户26064194
云社区用户26064194
3人赞赏了该文章 1374次浏览 未经作者许可,禁止转载编辑于2023年08月18日 15:15:35

harbor配置https(官方方法)

https://www.cnblogs.com/MJyc/p/14084882.html


#注意,全部使用hosts方式用ip来映射域名


 


1、修改host(


192.168.9.200修改为你自己harbor本机的ip

reg.harbor.local修改成你自己想要配置的域名


echo "192.168.9.200 reg.harbor.local" >> /etc/hosts

2、切换到harbor的路径,方便后续操作。


cd /usr/local/harbor

3、生成CA私钥


openssl genrsa -out ca.key 4096

4、继续生成(域名改成自己上面改的)


openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=reg.harbor.local" \ -key ca.key \ -out ca.crt

5、生成一个服务器私钥(域名改成自己上面改的)


openssl genrsa -out reg.harbor.local.key 4096

6、继续生成(域名改成自己上面改的)


 openssl req -sha512 -new \    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=reg.harbor.local" \    -key reg.harbor.local.key \    -out reg.harbor.local.csr

7、生成X509 v3的密钥文件(域名改成自己上面改的)


复制代码

cat > v3.ext <<-EOF

authorityKeyIdentifier=keyid,issuer

basicConstraints=CA:FALSE

keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment

extendedKeyUsage = serverAuth

subjectAltName = @alt_names


[alt_names]

DNS.1=reg.harbor.local

DNS.2=reg.harbor.local

DNS.3=hostnameEOF

复制代码

8、使用v3.ext文件生成你harbor主机密钥(域名改成自己上面改的)


复制代码

openssl x509 -req -sha512 -days 3650 \    -extfile v3.ext \    -CA ca.crt -CAkey ca.key -CAcreateserial \    -in reg.harbor.local.csr \    -out reg.harbor.local.crt

复制代码

8、创建 /data/cert目录为了给harbor.yml使用


mkdir -p /data/cert

9、执行复制命令,将证书复制到/data/cert下(域名改成自己上面改的)


cp reg.harbor.local.crt /data/cert/cp reg.harbor.local.key /data/cert/

10、为docker生成对应的证书给它使用(域名改成自己上面改的)


openssl x509 -inform PEM -in reg.harbor.local.crt -out reg.harbor.local.cert

11、在docker所在机器创建对应目录(域名改成自己上面改的)


mkdir -p /etc/docker/certs.d/reg.harbor.local/

12、复制证书到目录下


cp reg.harbor.local.cert /etc/docker/certs.d/reg.harbor.local/cp reg.harbor.local.key /etc/docker/certs.d/reg.harbor.local/cp ca.crt /etc/docker/certs.d/reg.harbor.local/

13、配置harbor.yml(按照如下修改,改成你自己的证书)


复制代码

https:

  # https port for harbor, default is 443

  port: 443

  # The path of cert and key files for nginx

  certificate: /data/cert/reg.harbor.local.crt

  private_key: /data/cert/reg.harbor.local.key

复制代码

14、重启docker


systemctl restart docker

15、进入harbor目录下,重新预部署


./prepare

16、关闭harbor


docker-compose down -v

17、重启harbor


docker-compose up -d

18、docker登陆harbor


docker login reg.harbor.local

提示success即可


赞 3