Harbor基于官方认证HTTPS证书部署指南
一、HTTPS证书部署概述
在生产环境中,为Harbor配置HTTPS加密访问是必不可少的安全措施。本文将详细介绍如何使用官方认证的SSL/TLS证书为Harbor启用HTTPS协议,确保镜像传输的安全性和完整性。
二、证书准备阶段
2.1 创建证书目录
# 进入Harbor安装目录
cd /oldboyedu/softwares/harbor/
# 创建专用证书目录
mkdir certs && cd certs
2.2 获取证书文件
方案一:使用已有证书(推荐)
- 将您从CA机构获取的证书文件上传至此目录
- 通常需要以下文件:
- 证书文件(.crt或.pem)
- 私钥文件(.key)
- 可能的中间证书链文件
方案二:使用测试证书(仅限非生产环境)
wget http://192.168.16.253/Linux92/Docker/day14-/softwares/yinzhengjie.com_nginx.zip
unzip yinzhengjie.com_nginx.zip
解压后将得到:
yinzhengjie.com_bundle.crt(证书文件)yinzhengjie.com.key(私钥文件)- 其他相关文件
三、配置Harbor使用HTTPS
3.1 修改Harbor配置文件
编辑harbor.yml文件:
# 必须与证书签发的域名完全一致
hostname: www.yinzhengjie.com
# HTTPS配置部分取消注释并修改
https:
port: 443 # HTTPS默认端口
certificate: /oldboyedu/softwares/harbor/certs/yinzhengjie.com_nginx/yinzhengjie.com_bundle.crt
private_key: /oldboyedu/softwares/harbor/certs/yinzhengjie.com_nginx/yinzhengjie.com.key
3.2 重新部署Harbor
# 执行安装脚本(保留原有数据)
./install.sh --with-chartmuseum
关键参数说明:
--with-chartmuseum:同时安装Chart仓库服务- 脚本会自动检测现有配置并保留数据
四、客户端访问配置
4.1 本地hosts解析(测试环境)
在客户端机器(Windows系统)修改hosts文件:
# C:\Windows\System32\drivers\etc\hosts
10.0.0.102 www.yinzhengjie.com
4.2 Docker客户端配置
修改/etc/docker/daemon.json:
{
"insecure-registries": [],
"registry-mirrors": [],
"debug": false,
"experimental": false
}
重要:生产环境应使用可信证书,无需配置insecure-registries
五、验证HTTPS访问
5.1 Web界面访问
浏览器访问:
https://www.yinzhengjie.com/harbor/projects
验证要点:
- 浏览器地址栏显示安全锁标志
- 点击锁标志可查看证书详情
- 确保证书颁发机构显示为可信CA
5.2 Docker客户端验证
# 登录Harbor仓库
docker login https://www.yinzhengjie.com
# 拉取镜像测试
docker pull www.yinzhengjie.com/library/nginx:latest
六、高级配置建议
6.1 证书自动续期
对于Let's Encrypt等短期证书:
- 设置自动续期脚本
- 续期后重新加载Harbor配置:
docker-compose down
./prepare
docker-compose up -d
6.2 强制HTTPS跳转
在harbor.yml中配置:
# 启用HTTP到HTTPS的重定向
http:
port: 80
relativeurls: false
6.3 证书链完整性
确保证书链完整,避免中间证书缺失:
# 验证证书链
openssl verify -CAfile yinzhengjie.com_bundle.crt yinzhengjie.com_bundle.crt
七、故障排查指南
7.1 常见问题
-
证书不受信任:
- 确保证书链完整
- 检查时间同步(NTP服务)
-
域名不匹配:
- 检查
hostname配置与证书SAN是否一致 - 确保证书包含所有使用的域名变体
- 检查
-
端口冲突:
- 确认443端口未被占用
- 检查防火墙设置
7.2 日志检查
# 查看Nginx容器日志
docker logs harbor-nginx
# 检查核心服务日志
docker logs harbor-core
八、生产环境最佳实践
-
证书管理:
- 使用企业级证书管理解决方案
- 实现证书生命周期自动化管理
-
安全加固:
- 启用HSTS头部
- 配置强密码套件
-
监控告警:
- 设置证书过期监控
- 配置HTTPS可用性检查
-
备份策略:
- 定期备份证书和私钥
- 存储在安全的加密位置
九、附录:证书类型参考
| 证书类型 | 适用场景 | 有效期 | 特点 |
|---|---|---|---|
| DV SSL | 测试/开发环境 | 1年 | 快速签发,仅验证域名所有权 |
| OV SSL | 企业生产环境 | 1-2年 | 验证企业真实性,中等信任度 |
| EV SSL | 高安全要求场景 | 1-2年 | 最高信任级别,显示绿色企业名 |
| 通配符证书 | 多子域名环境 | 1-2年 | 覆盖*.domain.com所有子域名 |
| 多域名证书 | 多个不同域名 | 1-2年 | 单证书保护多个完全独立域名 |
通过本文介绍的步骤,您已经成功为Harbor配置了官方认证的HTTPS证书,大幅提升了仓库的安全等级。建议定期审查证书状态并根据业务发展需求调整安全策略。
浙公网安备 33010602011771号