Harbor 部署https协议

背景:本文使用环境是Centos 7.9 安装Docker 26.1.4 版本,安装Harbor 2.10.2版本,harbor 默认使用http协议,如果使用https协议需要生成证书 。

1、修改host(172.30.10.48 修改为你自己harbor本机的ip

                              yourdomain.com 修改成你自己想要配置的域名 )

echo "172.30.10.48  yourdomain.com" >> /etc/hosts


2、生成ca私钥

cd /usr/local/docker/harbor/harbor       #进入到harbor安装目录 生成密钥
openssl genrsa -out ca.key 4096          #生成ca 密钥

3、继续生成(域名修改为自己制定的)

openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
 -key ca.key \
 -out ca.crt

4、生成一个服务器私钥(域名改成自己上面改的)

openssl genrsa -out yourdomain.com.key 4096

5、继续生成(域名改成自己上面改的)

openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
    -key yourdomain.com.key \
    -out yourdomain.com.csr

6、生成X509 v3的密钥文件(域名改成自己上面改的)

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=yourdomain.com
DNS.2=yourdomain
DNS.3=hostname
EOF

7、使用v3.ext文件生成你harbor主机密钥(域名改成自己上面改的)

openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in yourdomain.com.csr \
    -out yourdomain.com.crt

8、创建 /data/cert目录为了给harbor.yml使用

mkdir -p /data/cert/

9、执行复制命令,将证书复制到/data/cert下(域名改成自己上面改的)

cp yourdomain.com.crt /data/cert/
cp yourdomain.com.key /data/cert/

10、为docker生成对应的证书给它使用(域名改成自己上面改的)

openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert

11、在docker所在机器创建对应目录(域名改成自己上面改的)

mkdir -p /etc/docker/certs.d/yourdomain.com/

12、复制证书到目录下

cp yourdomain.com.cert /etc/docker/certs.d/yourdomain.com/
cp yourdomain.com.key /etc/docker/certs.d/yourdomain.com/
cp ca.crt /etc/docker/certs.d/yourdomain.com/

13、配置harbor.yml(按照如下修改,改成你自己的证书)

https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: /data/cert/yourdomain.com.crt
  private_key: /data/cert/yourdomain.com.crt

注意,yml文件有严格的配置文件缩写,注意配置文件缩写  可使用下面网站去检测yml配置文件格式是否正确

YAML Validator Online to validate YAML data (codebeautify.org)

14、重启docker

systemctl restart docker

15、返回harbor目录下,重新检测部署安装

./prepare      #检测harbor.yml配置文件
./install.sh   #安装harbor 通过docker-compose 重新安装harbor;只是重新生成harbor容器数据还在

如果./prepare 自检出现错误;

1、检查写入或更改配置文件的格式缩写;

2、检查certificate   private_key  密钥存放路径是否正确

16、验证harbor https协议配置情况

https://172.30.10.48  或者 https://yourdomain.com 可以访问harbor 管理页面 ,如果使用https://yourdomain.com 登录,需要dns添加主机域名信息;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值