本文主要是介绍harbor镜像仓库https配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.配置镜像仓库的https,需要生成密钥,ssl密钥生成相关知识可参考:openssl生成ca证书流程
2.接下来开始配置harbor的https
1.生成跟证书
#生成跟密钥
openssl genrsa -out root.pem 2048
#生成跟请求文件,harbor安装足迹ip:192.168.56.108
openssl req -new -sha256 -out root.csr -key root.pem \
-subj "/C=CN/ST=guangdong/L=guangzhou/O=test/OU=Personal/CN=192.168.56.108"
#签发跟证书文件
openssl req -x509 -new -nodes -sha256 -days 365 \-subj "/C=CN/ST=guangdong/L=guangzhou/O=test/OU=Personal/CN=192.168.56.108" \-key root.pem \-out root.crt
2.签发生成harbor服务端使用证书
#生成harbor密钥
openssl req -new -sha256 -out ca_harbor.csr -key ca_harbor.pem
#生成证书请求文件
openssl req -new -sha256 -out ca_harbor.csr -key ca_harbor.pem
#签发证书
openssl x509 -req -sha512 -days 365 \-extfile v3.ext \-CA root.cer -CAkey root.pem -CAcreateserial \-in ca_harbor.csr \-out ca_harbor.crt
3 生成一个x509 v3扩展文件(具体原因未做深究,参照官方文档)
无论您使用FQDN还是IP地址连接到Harbor主机,都必须创建此文件,以便可以为您的Harbor主机生成符合主题备用名称(SAN)和x509 v3的证书扩展要求。替换DNS条目以反映您的域
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = IP:192.168.56.108
EOF
4.转换ca_harbor.crt为harbor.cert,供Docker使用
openssl x509 -inform PEM -in ca_harbor.crt -out ca_harbor.cert
5.创建文件,并把生成的证书复制过去
mkdir -p /etc/docker/certs.d/192.168.56.108/
cp /data/cert/ca_harbor.cert /etc/docker/certs.d/192.168.56.108/
cp /data/cert/ca_harbor.pem /etc/docker/certs.d/192.168.56.108/
cp /data/cert/ca_harbor.crt /etc/docker/certs.d/192.168.56.108/
6.进入到harbor的安装目录配置https,我的目录/usr/local/harbor/harbor.yml
vi /usr/local/harbor/harbor.yml
7.停用harbor,并重启docker,同时重新运行install.sh安装文件
docker-compose down -v
systemctl restart docker
./install.sh
#查看443端口是否已启用
netstat -nplt
#若netstat未找到命令,可先执行安装工具类
yum -y install net-tools
8.进入浏览器以https访问harbor,正常登陆访问即可
https://192.168.56.108/
官方文档:Configure HTTPS Access to Harbor
参考博客:harbor配置https访问
这篇关于harbor镜像仓库https配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!