我正在用港口集装箱登记处做一些测试。 为了将其发布到生产环境中,我想添加 ssl 支持。
正如 cloudflare 提供的那样,我想知道是否有可能让它发挥作用。
到目前为止,我已经在 cloudflare 中创建了一个 dns 记录,指向我的 harbor 实例,代理。
我已经按照文档下的步骤从港口配置https。
我能够使用域名访问注册表并且证书似乎有效..
但是当我尝试将图像推送给它时,它会抱怨证书无效
你有什么线索吗?
我刚刚发现我的错误。
为了设置证书,我需要使用 cloud-flare 完全严格模式。
我会把我所有的步骤都留在这里,以备不时之需。
转到 SSL/TLS => 概述
将 Origin Certificate 中的值复制到扩展名为 .crt 的文本文件
在同一个地方保存 de cloud flare CA 证书。更多信息
创建两个文件夹:
mkdir -p /data/cert
mkdir -p /etc/docker/certs.d
复制您创建的文件名称:
在港口主机上运行以下命令
openssl x509 -inform PEM -in /data/cert/domain.com.crt -out /data/cert/domain.com.cert
将 domain.com.crt 转换为 yourdomain.com.cert,供 Docker 使用。
cp /data/cert/domain.com.cert /etc/docker/certs.d/
cp /data/cert/domain.com.key /etc/docker/certs.d/
cp /data/cert/ca.crt /etc/docker/certs.d/
将服务器证书、密钥和 CA 文件复制到 Harbor 主机上的 Docker 证书文件夹中。您必须先创建适当的文件夹。
为了使 ssl 工作,您需要取消注释并更改 ssl 部分中的属性
还建议更改主机名(在机器和 harbor.yaml 上)与您在 dns 中设置的相同
如果你已经启动了harbor:
docke-compose down
命令停止docker-compose up -d
命令