首页 > 其他分享 >Docker配置https证书案例

Docker配置https证书案例

时间:2023-02-25 03:11:06浏览次数:59  
标签:证书 harbor yinzhengjie https Docker com docker

目录

一.安装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/certs/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

标签:证书,harbor,yinzhengjie,https,Docker,com,docker
From: https://www.cnblogs.com/yinzhengjie/p/17153673.html

相关文章

  • 使用docker-compose快速部署Prometheus+grafana环境
    由于最近公司服务频繁出问题,老板很生气,下面的人都很不好过,于是老大让加一下业务监控,来观察线上数据状态。但是由于qa环境数据量太少,所以自己搭建了一套环境做相关监控,并且......
  • https(六)集成网络
    背景:com那边没指定truststore,也能用,home不给truststore时就不行 猜测1:truststore:双向认证中是必须的,如果没有显式的指定,默认指定为$JAVA_HOME/lib/security/cacerts......
  • https概念深入
    1、HTTPS与HTTPHTTP是超文本传输协议,通过传输层TCP的三次握手四次挥手建立连接,并通过TCP的拥塞控制和流量控制保证数据传输的可靠性、完整性;但是缺点是HTTP数据以明文......
  • Docker 启动报:Job for docker.service failed because the control process exited wi
    方法:1、在/etc/docker/daemon.json路径下添加代码。没有这个文件的可以手动添加touch/etc/docker/daemon.json在里面添加代码:{"storage-driver":"devicemapper"}......
  • docker部署mysql
    搜索mysql镜像dockersearchmysql拉取mysql镜像dockerpullmysql:5.7创建容器,设置端口映射、目录映射mkdir~/mysqlcd~/mysqldockerrun-id\-p330......
  • 【Azure 应用服务】应用代码中需要使用客户端证书访问服务接口,部署在应用服务后报错不
    问题描述在应用中,需要访问另一个服务接口,这个接口需要使用客户端证书进行认证。在代码中使用System.Security.Cryptography.X509Certificates加载Window系统中 CurrentU......
  • Docker--离线安装
    官网https://docs.docker.com/engine/install/centos7https://download.docker.com/linux/centos/7/x86_64/stable/Packages/需要下载的安装包containerd.io-1.6.9-3......
  • 非法买卖数字证书,这些人被抓了
    “只需办理一个数字证书,简简单单就能入账400元”。这时候你会心动吗?小心!你的身份信息可能被不法分子套取进行不当牟利,自己莫名其妙被成为公司法人,甚至名下欠下巨债...深......
  • docker 操作常用命令
    镜像#以tomcat为基础镜像创建一个容器,容器名为my-tomcat#拉取tomcat最新镜像,实际生产中,dockerpull这一步可以省略,dockerrun的时候会自己去拉取。dockerpulltomcat......
  • docker之安装tomcat
    国内Image仓库地址:https://hub.docker.com/search?q=tomcat安装tomcatdockerpulltomcat查看Imagedockerimages运行tomcatdockerrun-d--namemy-tomcat-p9090......