harbor映象倉庫https配置
阿新 • • 發佈:2021-01-15
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訪問