Https自签名证书(来自百度,Harbor实操,实证好用)

591 阅读2分钟
1、生成证书:
Step1:创建证书存放目录
	mkdir -p /data/cert && cd /data/cert
Step2:创建自己的CA证书(不使用第三方权威机构的CA来认证)
	openssl genrsa -out ca.key 2048   #生成根证书私钥(无加密)
Step3: 生成自签名证书(使用已有私钥ca.key自行签发根证书)
	openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj "/CN=Harbor-ca"

	req     产生证书签发申请命令
	-x509   签发X.509格式证书命令。X.509是最通用的一种签名证书格式。
	-new    生成证书请求
	-key     指定私钥文件
	-nodes   表示私钥不加密
	-out    输出
	-subj    指定用户信息
	-days    有效期
Step4:生成服务器端私钥和CSR签名请求
	openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -out server.csr
Step5:签发服务器证书
	echo subjectAltName = IP:10.10.10.194 > extfile.cnf
	openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 365 -extfile extfile.cnf -out server.crt
	x509           签发X.509格式证书命令。
	-req           表示证书输入请求。
	-days          表示有效天数
	-extensions    表示按OpenSSL配置文件v3_req项添加扩展。
	-CA            表示CA证书,这里为ca.crt
	-CAkey         表示CA证书密钥,这里为ca.key
	-CAcreateserial表示创建CA证书序列号
	-extfile      指定文件
Step6:设置docker证书
	# 如果如下目录不存在,请创建,如果有域名请按此格式依次创建
	mkdir -p /etc/docker/certs.d/10.10.10.194
	# mkdir -p /etc/docker/certs.d/[IP2]
	# mkdir -p /etc/docker/certs.d/[example1.com]
	# 如果端口为443,则不需要指定。如果为自定义端口,请指定端口
	# /etc/docker/certs.d/yourdomain.com:port

	# 将ca根证书依次复制到上述创建的目录中
	cp ca.crt /etc/docker/certs.d/10.10.10.194/
2、为harbor生成配置文件
	#首先重启下docker
	service docker restart
	#为Harbor生成配置文件
	./prepare
3、启动Harbor
	docker-compose up -d
	
	
注意:
	需要登陆10.10.10.194的服务器需要有/etc/docker/certs.d/10.10.10.194/ca.crt