harbor的https部署操作

1、修改host(x.x.x.x修改为你自己harbor本机的ip

harbor.lz.com修改成你自己想要配置的域名)

echo "x.x.x.x  harbor.lz.com" >> /etc/hosts

如若配置错误使用如下指令删除

sed -i '$d' /etc/hosts

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

cd /opt/harbor/harbor/

3、生成CA私钥

openssl genrsa -out ca.key 4096

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

openssl req -x509 -new -nodes -sha512 -days 3650 \

-subj "/C=CN/ST=Shandong/L=Jinan/O=lz/OU=Personal/CN=harbor.lz.com" \

-key ca.key \

-out ca.crt

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

openssl genrsa -out harbor.lz.com.key 4096

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

openssl req -sha512 -new \

    -subj "/C=CN/ST=Shandong/L=Jinan/O=lz/OU=Personal/CN=harbor.lz.com" \

    -key harbor.lz.com.key \

    -out harbor.lz.com.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=harbor.lz.com

DNS.2=harbor.lz

DNS.3=hostname

EOF

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

openssl x509 -req -sha512 -days 3650 \

    -extfile v3.ext \

    -CA ca.crt -CAkey ca.key -CAcreateserial \

    -in harbor.lz.com.csr \

    -out harbor.lz.com.crt

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

mkdir -p ./data/cert

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

cp harbor.lz.com.crt ./data/cert/

cp harbor.lz.com.key ./data/cert/

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

openssl x509 -inform PEM -in harbor.lz.com.crt -out harbor.lz.com.cert

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

mkdir -p /etc/docker/certs.d/harbor.lz.com:8080/

13、复制证书到目录下

cp harbor.lz.com.cert /etc/docker/certs.d/harbor.lz.com:8080/

cp harbor.lz.com.key /etc/docker/certs.d/harbor.lz.com:8080/

cp ca.crt /etc/docker/certs.d/harbor.lz.com:8080/

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


hostname: harbor.lz.com



# http related config

#http:

  # port for http, default is 80. If https enabled, this port will redirect to https port

#  port: 8080



# https related config

https:

  # https port for harbor, default is 443

  port: 8080

  # The path of cert and key files for nginx

  certificate: /opt/harbor/harbor/data/cert/harbor.lz.com.crt

  private_key: /opt/harbor/harbor/data/cert/harbor.lz.com.key

15、重启docker

systemctl restart docker

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

./prepare

17、关闭harbor

docker-compose down -v

18、重启harbor

docker-compose up -d

19、docker登陆harbor

docker login harbor.lz.com

遇到问题:

问题①:

docker login harbor.lz.com

Username: admin

Password:

Error response from daemon: Get "https://harbor.lz.com/v2/": Get "https://x.x.x.x/service/token?account=admin&client_id=docker&offline_token=true&service=harbor-registry": tls: failed to verify certificate: x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs

进入/etc/docker/daemon.json

加入echo '{"insecure-registries":["harbor.lz.com"]}' > /etc/docker/daemon.json

重启docker

systemctl restart docker

问题②:

本地访问域名

修改hosts文件

加入

x.x.x.x  harbor.lz.com

验证,浏览器访问:

https://x.x.x.x:8080

https://harbor.lz.com:8080

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值