Harbor配置https访问
- 1.证书生成位置
- 2. 生成CA证书私钥
- 3. 生成域名私钥
- 4. 生成一个x509 v3扩展文件
- 5. 使用该v3.ext文件为您的Harbor主机生成证书
- 6. 转换.crt为.cert,供Docker使用
- 7. 将服务器证书,密钥和CA文件复制到Harbor主机上的Docker证书文件夹中
- 8. 重新启动Docker Engine
- 9. 停止Harbor
- 10. 重新生成配置文件
- 11. 启动Harbor
1.证书生成位置
mkdir -p /data/cert
cd /data/cert
2. 生成CA证书私钥
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=192.168.50.136" \
-key ca.key \
-out ca.crt
3. 生成域名私钥
openssl genrsa -out 192.168.50.136.key 4096
openssl req -sha512 -new \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=192.168.50.136" \
-key 192.168.50.136.key \
-out 192.168.50.136.csr
4. 生成一个x509 v3扩展文件
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = IP:192.168.50.136
EOF
5. 使用该v3.ext文件为您的Harbor主机生成证书
openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in 192.168.50.136.csr \
-out 192.168.50.136.crt
6. 转换.crt为.cert,供Docker使用
openssl x509 -inform PEM -in 192.168.50.136.crt -out 192.168.50.136.cert
7. 将服务器证书,密钥和CA文件复制到Harbor主机上的Docker证书文件夹中
mkdir -p /etc/docker/certs.d/192.168.50.136:19066/
cp *.cert /etc/docker/certs.d/192.168.50.136:19066/
cp *.key /etc/docker/certs.d/192.168.50.136:19066/
cp *.crt /etc/docker/certs.d/192.168.50.136:19066/
8. 重新启动Docker Engine
systemctl restart docker
9. 停止Harbor
docker-compose down -v
10. 重新生成配置文件
需要进入安装目录
./prepare
11. 启动Harbor
docker-compose up -d