1. 程式人生 > 其它 >harbor映象倉庫https配置

harbor映象倉庫https配置

技術標籤:工具類harborhttpsssl

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訪問