配置harbor+域名访问+https方式

docker安装

rpm -qa |grep docker  ##查询已安装docker

##使用rpm -e --nodeps *** 卸载

yum install -y yum-utils device-mapper-persistent-data lvm2  ##安装依赖包工具

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo   ##添加设置镜像源

yum makecache fast  ##更新yum 缓存

yum -y install docker-ce    ##安装docker-ce

docker --version  ##查看docker版本

systemctl enable docker    ##开机自启

systemctl start docker  ##启动

docker-compose安装

下载地址:https://github.com/docker/compose/releases/download/1.28.6/docker-compose-Linux-x86_64

chmod +x docker-compose-Linux-x86_64   ##可执行授权

mv docker-compose-Linux-x86_64 /usr/local/sbin/docker-compose

docker-compose --version

harbor 安装

下载地址:https://github.com/goharbor/harbor/releases/download/v2.2.2/harbor-offline-installer-v2.2.2.tgz

生成证书

1.生成 CA 证书私钥

openssl genrsa -out ca.key 4096

2.生成ca证书

##yourdomain.com 需要替换成你自己的域名
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

证书通常包含一个.crt文件和一个.key文件,例如,yourdomain.com.crtyourdomain.com.key.

3.生成私钥

openssl genrsa -out yourdomain.com.key 4096

 4.生成证书签名请求 (CSR)

##yourdomain.com 同上
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

5.生成 x509 v3 扩展文件

无论是使用 域名还是 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 = @alt_names

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

6.使用该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

7.生成后ca.crtyourdomain.com.crtyourdomain.com.key文件,必须将它们提供给harbor和docker

## 将服务器证书和密钥复制到 Harbor 主机上
cp yourdomain.com.crt /data/cert/
cp yourdomain.com.key /data/cert/
## Docker 守护进程将.crt文件解释为 CA 证书,将.cert文件解释为客户端证书
openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert
##将服务器证书、密钥和 CA 文件复制到 Harbor 主机上的 Docker 证书文件夹中
mkdir -p /etc/docker/certs.d/yourdomain.com
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/

8.重启docker

systemctl restart docker

部署harbor

1.解压

tar -zxvf harbor-offline-installer-v2.2.2.tgz -C /home/

2.修改harbor.yml

cd /home/harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

3.安装

cd /home/harbor
./install.sh

访问

第一次需要输入用户名密码,可在harbor.yml中查看

docker login 域名

其他主机访问

常用命令

1.停止harbor

docker-compose stop  ## 需在harbor路径下(/home/harbor)

2.重启harbor

docker-compose start

3.如需要重新配置harbor

##stop harbor
sudo docker-compose down -v
##修改 harbor.yml
vim harbor.yml
## 运行脚本补充配置
./prepare
##重新创建harbor
docker-compose up -d

参考链接:

https://blog.csdn.net/qq_39876923/article/details/117303719

https://goharbor.io/docs/2.0.0/install-config/reconfigure-manage-lifecycle/

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用Nginx作为反向代理,将请求转发到Harbor的后端,并通过启用HTTPS来安全访问Harbor。以下是一个示例配置: 首先,确保您已经安装了Nginx,并且已经生成了有效的SSL证书。 1. 打开Nginx的配置文件(通常在`/etc/nginx/nginx.conf`或`/etc/nginx/conf.d/default.conf`)。 2. 在`http`块中添加以下配置,用于设置反向代理和HTTPS访问: ``` server { listen 80; server_name your_domain.com; location / { proxy_pass http://harbor_backend_ip:harbor_backend_port; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 443 ssl; server_name your_domain.com; ssl_certificate /path/to/ssl_certificate.crt; ssl_certificate_key /path/to/ssl_certificate.key; location / { proxy_pass http://harbor_backend_ip:harbor_backend_port; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 请确保将`your_domain.com`替换为您的域名,并将`harbor_backend_ip`和`harbor_backend_port`替换为Harbor后端实际的IP地址和端口。 3. 将您的SSL证书和私钥文件路径替换为正确的路径。 4. 保存并关闭配置文件。 5. 重新加载Nginx配置以使更改生效: ``` sudo systemctl reload nginx ``` 现在,您应该能够通过`https://your_domain.com`访问Harbor,并且Nginx会将请求代理到Harbor后端。请确保在防火墙中打开相应的端口(80和443)以允许流量通过。 希望这可以帮助到您!如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值