# 1) Create your own Private Key:
openssl genrsa -out 35.243.92.40.key 4096
# 2) Generate a Certificate Signing Request:
openssl req -sha512 -new \
-subj "/C=CN/ST=Zhejiang/L=Hangzhou/O=Harmonycloud/OU=Edgecompute/CN=35.243.92.40" \
-key 35.243.92.40.key \
-out 35.243.92.40.csr
# 3) Generate the certificate of registry host:
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
IP.1=35.243.92.40
EOF
openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in 35.243.92.40.csr \
-out 35.243.92.40.crt
# 4) Configure Server Certificate and Key for Harbor
sudo mkdir -p /data/cert/
sudo cp 35.243.92.40.crt /data/cert/
sudo cp 35.243.92.40.key /data/cert/
# 5) Configure Server Certificate, Key and CA for Docker
openssl x509 -inform PEM -in 35.243.92.40.crt -out 35.243.92.40.cert
# 6) Configure Harbor
vim harbor.yml
# modify hostname: 35.243.92.40
# comment http
# uncomment https
# certificate: /data/cert/35.243.92.40.crt
# private_key: /data/cert/35.243.92.40.key
# Generate configuration files for Harbor
./prepare
# 7) restart docker
sudo systemctl daemon-reload
sudo systemctl restart docker
# 8) put self-singed CA in system
sudo cp ca.crt /usr/local/share/ca-certificates/ca.crt
sudo cp 35.243.92.40.crt /usr/local/share/ca-certificates/35.243.92.40.crt
sudo update-ca-certificates
# 9) setup
docker-compose up -d