Docker配置https证书案例

简介: 本文介绍了如何为Docker的Harbor服务配置HTTPS证书,包括安装Docker和Harbor、修改配置文件以使用证书、生成自签名证书、配置证书以及验证配置的步骤。

一.安装harbor

1.安装docker

参考链接:
    https://docs.docker.com/engine/install/

2.安装docker compose

参考链接:
    https://docs.docker.com/compose/install/

3.解压harbor软件包

    (1)创建harbor软件目录
# mkdir -p /yinzhengjie/softwares


    (2)解压软件包
# tar xf harbor-offline-installer-v1.10.10.tgz -C /yinzhengjie/softwares

二.配置harbor服务器配置https证书

1.修改harbor配置文件

vim harbor.yml 
...
hostname: www.yinzhengjie.com
...
https:
  ...
  certificate: /oldboyedu/softwares/harbor/shengchan/www.yinzhengjie.com_nginx/www.yinzhengjie.com.crt
  private_key: /oldboyedu/softwares/harbor/shengchan/www.yinzhengjie.com_nginx/www.yinzhengjie.com.key

2.使得配置生效

# ./prepare 

# docker-compose down -t 1

# docker-compose up -d

3.测试服务

# echo 10.0.0.101 www.yinzhengjie.com >> /etc/hosts

# docker login www.yinzhengjie.com

三.配置harbor服务器配置https自签证书

官方文档:
    https://goharbor.io/docs/1.10/install-config/configure-https/

1.生成harbor服务器证书

1.1 生成ca的证书

    (1)创建证书目录并进入到证书目录
# mkdir /yinzhengjie/softwares/harbor/certs && cd /yinzhengjie/softwares/harbor/certs/


    (2)生成ca的私钥
# openssl genrsa -out ca.key 4096


    (3)生成ca的自签名证书
# openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yinzhengjie.com" \
 -key ca.key \
 -out ca.crt

1.2 生成harbor主机证书

    (1)生成harbor主机的私钥
# openssl genrsa -out harbor.yinzhengjie.com.key 4096


    (2)生成harbor主机的证书申请
# openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.yinzhengjie.com" \
    -key harbor.yinzhengjie.com.key \
    -out harbor.yinzhengjie.com.csr


    (3)生成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=yinzhengjie.com
DNS.2=yinzhengjie
DNS.3=harbor.yinzhengjie.com
EOF


    (4)使用"v3.ext"给harbor主机签发证书
# openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in harbor.yinzhengjie.com.csr \
    -out harbor.yinzhengjie.com.crt


    (5)将crt文件转换为cert客户端证书文件
# openssl x509 -inform PEM -in harbor.yinzhengjie.com.crt -out harbor.yinzhengjie.com.cert


温馨提示:
    docker程序认为"*.crt"文件是CA证书文件,"*.cert"客户端证书文件,于是上面第五步需要转换一下,其实使用cp一下也是可以的,内容并没有变化。

2. 配置harbor服务器使用证书

    (1)修改harbor的配置文件
# vim /yinzhengjie/softwares/harbor/harbor.yml     
...
hostname: harbor.yinzhengjie.com
...
https:
  ...
  certificate: /yinzhengjie/softwares/harbor/certs/harbor.yinzhengjie.com.crt
  private_key: /yinzhengjie/softwares/harbor/certs/harbor.yinzhengjie.com.key
...
harbor_admin_password: 1


    (2)安装harbor服务
# cd /yinzhengjie/softwares/harbor  && ./install.sh



温馨提示:
    如果已经安装harbor服务的话,就不需要重复执行"./install.sh"脚本,仅需执行"./prepare"并搭配"docker-compose down"和"docker-compose up -d"即可。

3.验证证书

3.1 Windows验证

如上图所示,Windows成功访问啦。只不过证书是不安全的而已。

3.2 Linux验证

    (1)配置地址解析
# echo 10.0.0.13 harbor.yinzhengjie.com >> /etc/hosts

    (2)在docker客户端节点创建自签证书域名存放路径
# mkdir -pv /etc/docker/certs.d/harbor.yinzhengjie.com

    (3)服务端将证书文件拷贝到客户端docker节点,若不执行该操作,则会报错如上图所示。
# scp /yinzhengjie/softwares/harbor/certs/{harbor.yinzhengjie.com.cert,harbor.yinzhengjie.com.key,ca.crt}  10.0.0.14:/etc/docker/certs.d/harbor.yinzhengjie.com

    (3)登录验证,如下图所示。
# docker login -u admin -p 1 harbor.yinzhengjie.com

目录
相关文章
|
5天前
|
Docker 容器
Docker 镜像加速器配置指南
dockerhub加速器失败,使用第三方加速器
|
10天前
|
安全 算法 网络协议
ip地址https证书免费试用—政企单位专用
IP地址HTTPS证书为基于公网IP的服务提供加密保护,JoySSL等机构提供免费试用,帮助政企用户降低安全成本。用户需注册账号、申请证书、提交CSR并验证IP所有权,最后安装证书并测试。免费证书有效期短,但能有效保障数据安全,提升用户信任度及合规性。
|
6天前
|
安全 网络安全 数据安全/隐私保护
内网/局域网IP地址申请https证书方法
为内网/局域网IP地址申请HTTPS证书,可增强数据传输的安全性。首先确定固定的内网IP地址,选择可信的证书颁发机构,注册并申请免费或付费SSL证书,提交相关信息,支付费用(如有)。证书申请成功后,下载并配置于服务器,确保通过浏览器访问时显示为安全连接。注意定期更新证书,确保持续的安全保障。此过程适用于局域网内部通信加密,提升内网服务的安全水平。
|
17天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
50 7
|
14天前
|
安全 数据安全/隐私保护
IP地址https证书免费申请教程
本教程详细介绍如何免费申请IP地址HTTPS证书,涵盖准备、申请、审核、下载与部署阶段。从确认IP地址、选择CA、注册账户到验证控制权,最后完成证书部署,确保数据传输安全。注意证书有效期较短,需及时续签。
|
17天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
27 5
|
21天前
|
安全 物联网 数据建模
IP地址能否申请HTTPS证书?
IP地址可申请HTTPS证书,但需满足特定条件。首先,该IP须为公网IP,具备唯一性和可控性。证书类型限于DV或OV级别,不支持EV。申请过程包括所有权验证及端口开放。适用于服务器间通信及IoT设备等场景。申请时需注意成本、浏览器兼容性和安全性问题。
|
23天前
|
存储 安全 数据安全/隐私保护
Docker中配置TLS加密的步骤
我们可以在 Docker 中成功配置 TLS 加密,增强 Docker 环境的安全性,保护容器之间以及与外界的通信安全。需要注意的是,在实际应用中,应根据具体情况进行更细致的配置和调整,确保符合安全要求。同时,定期更新证书和私钥,以保障安全性。
49 1
|
UED Docker 容器
【案例学习】美国大都会人寿保险公司的 Docker EE 实践
Metlife 的经验:既可以对现有的应用程序进行容器化改造,也可以构建和部署新的微服务。关键是要从小处着手,逐步创新,每次使用一种技术栈,并且随着时间的推移简化操作,最终建立一种可以重复使用的模式。
2680 0