首页 > 其他分享 >搭建私有镜像中心

搭建私有镜像中心

时间:2023-04-11 17:23:20浏览次数:29  
标签:公钥 加密 证书 私有 通信 HTTPS 镜像 数字证书 搭建

HTTP/HTTPS协议

​ HTTP与HTTPS协议都是客户端浏览器和服务器之间的一种约定,约定如何将服务器中的信息下载到本地,并通过浏览器显示出来。

​ 不同的是,HTTP协议是一种明文传输协议,其对传输的数据不提供任何加密措施。而HTTPS协议则是通过SSL/TLS为数据加密,以保证数据的安全性。

通常情况下,HTTP会直接与运输层的TCP进行通信,默认使用80端口号。但在使用SSL/TLS协议的HTTPS后,就演变成了直接与运输层的SSL/TLS进行通信,再由SSL/TLS与TCP进行通信,即HTTPS间接与TCP进行通信的,HTTPS默认使用443端口号。

image-20230410155103783

SSL/TLS

SSL,Secure Sockets Layer,安全套接字协议

TLS,Transport Layer Security,传输层安全协议

他们主要用于保障再Internet上数据传输的安全性与完整性

加密验证方式

HTTP协议通过明文传输存在三大风险:

  • 被窃听的风险
  • 被篡改的风险
  • 被冒充的风险

HTTPS协议通过用户身份验证与传输加密,大大见底了HTTP中这些风险。

HTTPS协议中的身份验证采用的非对称加密验证,传输加密采用的是对称加密验证。

对称加密验证:加密解密使用密钥相同。例如登录使用的账号/密码属于对称加密验证(用户提交的账号/密码与保存再服务器中的账号/密码必须相同,验证才能成功)

非对称加密验证:加密解密使用密钥不同。其本质上救赎数学算法,主要有三类算法:因子分解算法、离散对数算法、椭圆曲线算法,其中,因子分解算法使用最为广泛。

公钥与私钥

非对称加密验证中需要一对密钥,其中一个用于加密,一个用于解密,即所谓的公钥与私钥。

公钥:可以公开的密钥,是发放给其他人的

私钥:非公开的密钥,只有加密者自己保存的密钥

公钥与私钥都可用用于加密/解密

公钥加密,私钥解密:称为信息加密与信息解密

私钥加密,公钥解密:称为数字签名与签名验证。

以故事方式开始HTTPS工作原理

以“特工张三与总部李四的通信故事“里说明HTTPS的工作原理。

  1. 明文通信过程image-20230410162540695

存在被劫持,被篡改被冒充的风险

​ 2.使用数字签名加密

整个通讯阶段包含两个阶段:通信关系建立阶段与通信阶段

image-20230410163345743

image-20230410164959451

  1. 钓鱼问题

image-20230410170028857

4.使用数字证书

上面的过程会出现问题:被钓鱼,无法知道发送消息方是谁。

整个通讯阶段包含两个阶段:通信基础构建阶段、通信关系建立阶段与通信阶段

image-20230410170738007

image-20230410171916089

image-20230410171950791

5.对称加密方式

整个通信过程包含三个阶段:通信基础构建阶段、通信关系建立阶段与通信阶段。通信阶段中的身份验证采用非对称加密验证方式,通信过程采用对称加密验证方式。

image-20230410174435438

image-20230410174459604

image-20230410174530099

HTTPS工作原理

image-20230411091957055

image-20230411092328939

image-20230411092723632

HTTPS重要概念

  • 数字证书

​ 数字证书,也称为SSL/TLS证书,是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种再Internet上验证通信实体身份的方式。它由CA(Certificate Authority,证书权威认证机构,证书中心)颁发的一种身份证明。它里面包含了该通讯方的公钥、证书有效时间、域名及、CA的数字签名等。数字证书的一个非常重要的作用就是“防钓鱼”。

全球的CA(权威证书中心)一共也没有几个,即全球可以颁发数字证书的机构并不多。而像我国阿里、腾讯等也都属于这些大的权威证书中心的代理机构。我们可以通过他们来申请办理证书,而他们本身不具有生成证书的权限。

  • 根证书

​ 数字证书是由CA颁发的一种身份证明,是通过CA私钥加密过的。所以客户端必须具有CA公钥才能解密要访问平台服务器的数字证书。而这个CA公钥就被称为CA根证书,也称为根证书。

​ 当然,数字证书除了权威证书中心可以申请到外,也可以自己生成。但自己生成的证书并没有再客户端系统中,这时需要用户再客户端先安装数字证书,并将其添加到相应的“信任”状态才可。这就是我们平时如果要再本地电脑打开网银平台对自己的电子银行进行操作之前,会先提示安装根证书的原因。这个安装根证书的提示,就包含网银的数字证书与CA根证书。

  • 数字摘要

​ 数字摘要是将任意长度的消息变成固定长度的短消息。数字摘要就是利用了Hash函数的单向性,将需要加密的明文“摘要”成一串128位长度数字串。这个数字串又称为“数字指纹”。其单向性体现在:不同明文“摘要的结果“一定是不同的,相同的明文”摘要的结果“必定是一致的。但摘要结果无法计算出其原始明文。

  • 数字签名

​ 数字签名,是只有信息的发送者才能产生别人无法伪造的一段字符串。她是一种类似写在纸上的手写物理签名,用于鉴别数字信息是否被篡改的方法。

​ 数字签名是非对称密钥技术与数字摘要技术的应用。使用私钥对明文的数字摘要要加密,形成数字签名;使用公钥对数字签名解密,称为验证签名。

htpasswd命令

  • 安装httpd-tools

image-20230411112040648

  • 启动tomcat

image-20230411112223854

  • 进行压测

  • image-20230411112523734

  • 创建用户

image-20230411114345117

  • 添加用户

image-20230411114449985

  • 修改密码

image-20230411114550232

  • 删除李四

image-20230411114659335

  • 流的方式
  • image-20230411115113980

容器退出状态码

Docker Daemon通过退出状态码向用户反馈容器中应用的退出方式

  • 状态码分类

​ 容器退出状态码是【0,255】范围内的数,分为三类:0、【1,128】与【129,255】.

	1.状态码0表示正常退出,如关闭容器和关闭docker引擎

​ 2.【1,128】范围内的状态码,非正常退出状态,表示容器内部运行错误引发的容器无法启动,或应用运行出错。

​ 3.【129,255】范围内的状态码,非正常退出状态,表示容器接收到终止信号而退出。

容器重启策略

no:默认表示不重启

on-failure[:n]

在容器非正常退出时,即退出状态码非0的情况下才会重启,其后可以跟一个整数,表示重启次数。

启动容器时加--restart on-failure

always:只要关闭就重启,如果docker stop或者docker kill不会重启,重启引擎也会重启

unless-stoppde :只要退出就会重启,如果docker stop或者docker kill不会重启,重启引擎也不会

distribution镜像中心搭建

  • 安装

image-20230411153615262

  • 查看安装目录

  • image-20230411153823309

  • 启动服务

  • image-20230411154125552

  • 登录镜像中心

image-20230411154644964

  • 修改配置文件/etc/docker/daemon.json

image-20230411154726231

  • 登陆成功

image-20230411154747754

  • 上传镜像

  • image-20230411155152598

  • 客户端查询

  • image-20230411155412837

删除镜像

  • 获取degist

  • image-20230411160806109

  • 删除失败

  • image-20230411161347441

  • 修改文件

image-20230411161406402

image-20230411161313562

  • 重启服务

  • image-20230411161427762

  • 再次删除

  • image-20230411161446810

存在问题:用户没有校验,无法使用https

registry搭建

docker run --name myregistry --restart always -v /var/lib/registry:/var/lib/registry -v /auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd.user" -dp 5000:5000 registry

  • 登录

image-20230411165441686

  • 拥有校验

  • image-20230411165516525

  • 上传镜像

  • image-20230411170505520

image-20230411170516165

  • linux验证

  • image-20230411170649993

  • 进入容器修改文件

  • image-20230411171124299

  • image-20230411171158807

image-20230411171223280

查看镜像

image-20230411171256829

标签:公钥,加密,证书,私有,通信,HTTPS,镜像,数字证书,搭建
From: https://www.cnblogs.com/yhdxx/p/17306954.html

相关文章

  • macOS Big Sur 11.7.6 (20G1231) Boot ISO 原版可引导镜像
    本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。2023年4月10日(北京时间11日凌晨),Apple为那些无法更新macOSVentura的旧Mac发布了macOSBig......
  • macOS Ventura 13.3.1 (22E261) Boot ISO 原版可引导镜像
    本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。macOSVentura13.3.1为Mac提供下列重要的错误修复和安全性更新(2023年4月7日):推手表情符号无法......
  • macOS Monterey 12.6.5 (21G531) Boot ISO 原版可引导镜像
    本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。2023年4月10日(北京时间11日凌晨),Apple为那些无法更新macOSVentura的旧Mac发布了macOSBig......
  • 基于CSDN搭建Typora免费图床
    title:基于CSDN搭建Typora免费图床date:2023-04-1017:11:42categories:小技能tags:-Typora-CSDN-免费图床本地需要有python3环境按照requests、psutil、requests-toolbelt依赖,若已安装可忽略pipinstallrequestspipinstallpsutilpipinstallrequests-......
  • 基于博客园搭建Typora免费图床
    title:基于博客园搭建Typora免费图床date:2023-04-1016:10:59categories:小技能tags:-免费图床-博客园-Typora本地需要有python3环境,复制以下代码到一个.py的文件中,如我本地命名为upd_pic_to_cnblog.pyimportosimportsysimportxmlrpc.clientasclientimp......
  • arroyo single docker 镜像说明
    arroyosingledocker镜像使用了ubuntu作为基础镜像,里边包含了不少服务,同时基于supervisord进行服务管理具体dockerfile参考github我简单介绍一些其他服务supervisord配置/opt/arroyo/src/docker/single/supervisord.conf目录 [supervisord]nodaemon=tru......
  • 51 openEuler搭建PostgreSQL数据库服务器-安装、运行和卸载
    51openEuler搭建PostgreSQL数据库服务器-安装、运行和卸载51.1安装配置本地yum源,详细信息请参考《openEuler22.03-LTS搭建repo服务器》清除缓存。#dnfcleanall例如示例命令如下:[root@superman-21~]#dnfcleanall36filesremoved[root@superman-21~]#......
  • 敏捷开发 CICD 阿里云效 加 阿里云镜像仓库篇(一)
    一、前言之前这2篇都是利用Jenkins+Docker+Gitee去目标服务器构建镜像然后去发布业务系统。https://www.cnblogs.com/mangoubiubiu/p/17134059.htmlhttps://www.cnblogs.com/mangoubiubiu/p/17125069.html二、利用阿里云效+阿里云镜像仓库一键发布服务(包括中间件的初始化......
  • OpenStack核心组件-glance镜像服务
    1.glance介绍Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找、注册和检索等。Glance提供RestfulAPI可以查询虚拟机镜像的metadata(元数据)及获取镜像。Glance可以将镜像保存到多种后端存储上,比如简单的文件存储或者对象存储。理解Image要理解ImageServ......
  • 定义一个基类Base,有两个公有成员函数fn1,fn2,私有派生出Derived类,如何通过Derived类
    定义一个基类Base,有两个公有成员函数fn1,fn2,私有派生出Derived类,如何通过Derived类的对象调用基类的函数fn1。#include<bits/stdc++.h>usingnamespacestd;classBase{public: intfn1(){return0;} intfn2(){return0;}};classDerived:privateBase{publi......