Harbor配置https认证
由于Harbor不附带任何证书,它默认使用HTTP来提供注册表请求。但是,强烈建议为任何生产环境启用安全性。
因为测试使用,使用自签名证书:
1、创建CA证书
首先创建个目录存放
1 2 3 4 | mkdir /root/ca -p cd /root/ca 以下命令创建CA证书 openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 - out ca.crt |
其中:(req:申请证书签署请求;-newkey 新密钥 ;-x509:可以用来显示证书的内容,转换其格式,给CSR签名等X.509证书的管理工作,这里用来自签名。)
一路回车出现Common Name 输入IP或域名
Common Name (eg, your name or your server's hostname) []:47.52.25.8
2、生成证书签名请求
1 2 3 | openssl req -newkey rsa:4096 -nodes -sha256 -keyout 47.52.25.80.key - out 47.52.25.80.csr 一路回车出现Common Name 输入IP或域名 Common Name (eg, your name or your server's hostname) []:47.52.25.8 |
3、生成证书
备注:若需要添加多个地址(允许链接的ip等)
1 2 | echo subjectAltName = IP:47.52.25.8 > extfile.cnf openssl x509 -req -days 365 - in 47.52.25.80.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf - out 47.52.25.80.crt |
4、配置harbor.cfg
1 2 3 4 5 6 7 8 | #set hostname hostname = xxxx #域名或ip #set ui_url_protocol uiurlprotocol = https #这里改为https**** ...... #The path of cert and key files for nginx, they are applied only the protocol is set to https ssl_cert = /cert/47.52.25.8.crt #crt位置 ssl_cert_key = /cert/47.52.25.8.key #key的位置 |
5、配置启动harbor
1 2 3 | # docker-compose down # ./prepare # docker-compose up –d |
6、测试
1、访问,https://配置的ip或域名(若nginx的443配置了其他端口需要加上对应端口号)
2、# docker login xxxx
若报错x509: certificate signed by unknown authority:
需要把之前制作的ca证书添加到信任(因为是自签名证书):
1 2 3 | # mkdir –p /etc/docker/certs.d/47.52.25.8 # cp ca.crt /etc/docker/certs.d/47.52.25.8/ca.crt # systemc restart docker.service |
注意:
每一个客户端都需要复制上面的ca.crt到Docker相应目录,然后重启Docker。
再次测试docker login xxxx,成功登陆~
浏览器需要添加“访问例外”,根据提示进行操作。
如对您有帮助,支持下呗!
微信

支付宝

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
2018-03-22 Xshell连接ESXI方法