https配置证书

HTTPS 基本原理

https 介绍

HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 国内外的大型互联网公司很多也都已经启用了HTTPS,这也是未来互联网发展的趋势。

1、加密算法

  1. 对称加密

    A要给B发送数据1,A做一个对称密钥
    2,使用密钥给文件加密
    3,发送加密以后的文件和钥匙
    4,B拿钥匙解密
    

    加密和解密都是使用的同一个密钥。

  2. 非对称加密 ---- 公钥加密,私钥解密

    A要给B发送数据

    1.B做一对非对称的密钥
    2.发送公钥给A
    3.A拿公钥对数据进行加密
    4.发送加密后的数据给B
    5.B拿私钥解密
    
  3. 哈希算法
    将任意长度的信息转换为较短的固定长度的值,通常其长度要比信息小得多。

    例如:MD5、SHA-1、SHA-2、SHA-256 等

  4. 数字签名

    签名就是在信息的后面再加上一段内容(信息经过hash后的值),可以证明信息没有被修改过。hash值一般都会加密后(也就是签名)再和信息一起发送,以保证这个hash值不被修改。
    

2、HTTPS 协议介绍

  • HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器与Web服务器之间的应用层通信协议 。
  • HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。


在这里插入图片描述

  • 如上图所示 HTTPS 相比 HTTP 多了一层 SSL/TLS

    SSL/TLS :SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层为数据通讯进行加密提供安全支持。

    SSL协议提供的服务主要有:

 ssl:身份认证和数据加密。保证数据完整性
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。 

3、HTTPS 原理

1、HTTP 访问过程

在这里插入图片描述
如上图所示,HTTP请求过程中,客户端与服务器之间没有任何身份确认的过程,数据全部明文传输,“裸奔”在互联网上,所以很容易遭到黑客的攻击,如下:

在这里插入图片描述

可以看到,客户端发出的请求很容易被黑客截获,如果此时黑客冒充服务器,则其可返回任意信息给客户端,而不被客户端察觉。

所以 HTTP 传输面临的风险有:

- 窃听风险:黑客可以获知通信内容。
- 篡改风险:黑客可以修改通信内容。
- 冒充风险:黑客可以冒充他人身份参与通信。

那有没有一种方式既可以安全的获取公钥,又能防止黑客冒充呢? 那就需要用到终极武器了:SSL 证书(申购)

  • 证书:.crt, .pem
  • 私钥:.key
  • 证书请求文件:.csr
    在这里插入图片描述

如上图所示,在第 ② 步时服务器发送了一个SSL证书给客户端,SSL 证书中包含的具体内容有:

(1)证书的发布机构CA

(2)证书的有效期

(3)公钥

(4)证书所有者

(5)签名 ----- 签名就可以理解为是钞票里面的一个防伪标签。

客户端在接受到服务端发来的SSL证书时,会对证书的真伪进行校验,以浏览器为例说明如下:

(1)首先浏览器读取证书中的证书所有者、有效期等信息进行一一校验(2)浏览器开始查找操作系统中已内置的受信任的证书发布机构CA,与服务器发来的证书中的颁发者CA比对,用于校验证书是否为合法机构颁发(3)如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。(4)如果找到,那么浏览器就会从操作系统中取出 颁发者CA 的公钥,然后对服务器发来的证书里面的签名进行解密(5)浏览器使用相同的hash算法计算出服务器发来的证书的hash值,将这个计算的hash值与证书中签名做对比(6)对比结果一致,则证明服务器发来的证书合法,没有被冒充(7)此时浏览器就可以读取证书中的公钥,用于后续加密了(8)client与web协商对称加密算法,client生成对称加密密钥并使用web公钥加密,发送给web服务器,web服务器使用web私钥解密 (9)使用对称加密密钥传输数据,并校验数据的完整性

4、所以通过发送SSL证书的形式,既解决了公钥获取问题,又解决了黑客冒充问题,一箭双雕,HTTPS加密过程也就此形成

所以相比HTTP,HTTPS 传输更加安全

(1) 所有信息都是加密传播,黑客无法窃听。

(2) 具有校验机制,一旦被篡改,通信双方会立刻发现。

(3) 配备身份证书,防止身份被冒充。

3、CA 机构

CA(Certificate Authority)证书颁发机构主要负责证书的颁发、管理以及归档和吊销。证书内包含了拥有证书者的姓名、地址、电子邮件帐号、公钥、证书有效期、发放证书的CA、CA的数字签名等信息。证书主要有三大功能:加密、签名、身份验证。

阿里云申请配置ssl证书—实战

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
阿里云配置证书案例:
yum安装nginx ----略
将证书上传到服务器中
1.首先需要在服务器创建对应的文件夹,参考命令如下
[root@nginx ~]# cd /etc/nginx/ && mkdir cert
2.在服务器创建完成对应文件夹之后,将证书文件复制到服务器中
[root@nginx nginx]# cd
[root@nginx ~]# ls
2447549_www.testpm.cn_nginx.zip
[root@nginx ~]# yum install -y unzip
[root@nginx ~]# unzip 2447549_www.testpm.cn_nginx.zip
Archive: 2447549_www.testpm.cn_nginx.zip
Aliyun Certificate Download
inflating: 2447549_www.testpm.cn.pem
inflating: 2447549_www.testpm.cn.key
[root@nginx ~]# ls
2447549_www.testpm.cn.key 2447549_www.testpm.cn_nginx.zip 2447549_www.testpm.cn.pem
[root@nginx ~]# cp 2447549_www.testpm.cn* /etc/nginx/cert/
[root@nginx ~]# cd /etc/nginx/cert/
改名:
[root@nginx cert]# mv 2447549_www.testpm.cn.key www.testpm.cn.key
[root@nginx cert]# mv 2447549_www.testpm.cn.pem www.testpm.cn.pem
证书配置
证书复制完成之后,可以对nginx配置文件进行更改,使用vim命令
[root@nginx ~]# cd /etc/nginx/conf.d/
[root@nginx conf.d]# vim nginx_ssl.conf
[root@nginx conf.d]# cat /etc/nginx/conf.d/nginx_ssl.conf
server {
listen 443 ssl; #https端口
server_name www.testpm.cn;
access_log /var/log/nginx/https_access.log main;

ssl_certificate   /etc/nginx/cert/www.testpm.cn.pem; #指定证书路径
ssl_certificate_key  /etc/nginx/cert/www.testpm.cn.key; #指定私钥路径
ssl_session_timeout 5m; #配置用于SSL会话的缓存
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #指定使用的协议
ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; #密码指定为OpenSSL支持的格式
ssl_prefer_server_ciphers on;  #设置协商加密算法。location / {root  /usr/share/nginx/html;index index.html index.htm;
}

}


需要给域名做一个解析,香港的服务器添加一个A记录即可
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f4c429951579470b871855d3a10edb58.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d30ea4ca93ee447c935eefa1ce8035d9.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5552d34d35d54c9082f2b247cfcfc336.png)
解析完成之后大约需要等待3-5分钟**测试访问**
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/cceb09fd8a1f4918892d8977d79dff01.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/238ee722aff24709a6e17c138db8ecea.png)
访问成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL 基础知识点

1. 数据库相关术语 数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件)。数据表(table) :某种特定类型数据的结构化清单。模式(schema)&am…

springboot 房屋租赁系统

spring boot mysql mybatis 前台后端

开心自走棋:使用 Laf 云开发支撑数百万玩家

先介绍一下开心自走棋 开心自走棋是一款剑与魔法的烧脑自走棋游戏。以著名的魔幻世界观为蓝本,采用了轻松可爱的画面风格,精致细腻的动画和特效来还原魔兽之战。 现在市面上自走棋游戏多是 PvP 玩法为主,而开心自走棋是以 PvE 玩法为主的&a…

C语言光速入门笔记

C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言。C语言是计算机产业的核心语言,操作系统、硬件驱动、关键组件、数据库等都离不开C语言;不学习C语言,就不能了解计算机底层。 目录 C语言介绍C语言特…

相机成像之图像传感器与ISP【四】

文章目录 1、图像传感器基础1.1 基础原理——光电效应1.2 基础的图像传感器设计1.3 衡量传感器效率的一个关键指标:光量子效率(QE)1.4 感光单元的响应1.5 像素的满阱容量1.6 像素尺寸和填充比例1.7 微透镜的作用1.8 光学低通滤波器简介1.9 传…

机器学习周报第27周

目录 摘要Abstract一、文献阅读 摘要 本周阅读了一篇混沌时间序列预测的论文,论文模型主要使用的是时间卷积网络(Temporal Convolutional Network,TCN)、LSTM以及GRU。在数据集方面除了使用现实的时间序列数据外,还通…

uni-app页面数据传参方式

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,可以编译到 iOS、Android、H5、小程序等多个平台。当你在多个页面间传递参数时,通常有多种方法,例如通过 uni.navigateTo、路由参数、本地存储等方式。下面是一些方法的说明和示例代码。 …

SAP_PP_理解工作中心的定义与作用和一些使用的参考规则

1.1 工作中心的定义 工作中心是用于生产产品的生产资源,包括机器、人和设备,是各种生产或能力加工单元的总称。工作中心属于能力的范畴即计划的范畴,而不属于固定资产或者设备管理的范畴。一个工作中心可以是一台设备、一组功能相同的…

计算机毕业设计 | SpringBoot+vue农产品商城 买菜购物网站(附源码)

1,绪论 1.1 项目背景 随着社会发展,网上购物已经成为我们日常生活的一部分。但是,至今为止大部分电商平台都是从人们日常生活出发,出售都是一些日常用品比如:食物、服装等等,并未发现一个专注于菜品的电商…

LeetCode 2353. 设计食物评分系统【设计,哈希表,有序集合;堆+懒删除】1781

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

map升序和降序

1.升序排序&#xff08;TreeMap&#xff08;默认是升序排列的&#xff09;&#xff09; Map<String, Integer> map new HashMap<>(); // 使用Stream API对Map进行升序排序 Map<String, Integer> sortedMap new LinkedHashMap<>(); map.entrySet().st…

【力扣每日一题】力扣447回旋镖的数量

题目来源 力扣447回旋镖的数量 题目描述 给定平面上 n 对 互不相同 的点 points &#xff0c;其中 points[i] [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 &#xff0c;其中 i 和 j 之间的距离和 i 和 k 之间的欧式距离相等&#xff08;需要考虑元组的吮吸&#xff09;…

路由器02_静态路由DHCP

一、静态路由 &#xff11;、静态路由特点 由管理员手工配置&#xff0c;是单向的&#xff0c;缺乏灵活性 &#xff12;、默认路由 默认路由是一种比较特殊静态路由&#xff0c;一般用于末节&#xff08;末梢&#xff09;网络&#xff0c;直接指定目标为任何地方 二、静态…

Flutter中showModalBottomSheet的属性介绍和使用

在Flutter中&#xff0c;showModalBottomSheet是一个常用的工具&#xff0c;用于在屏幕底部显示模态底部面板。了解其属性将帮助您更好地定制和控制底部模态框的外观和行为。 showModalBottomSheet的常用属性 1. context: 类型: BuildContext描述: 表示当前构建上下文&#…

为什么 Kafka 这么快?它是如何工作的?

随着数据以指数级的速度流入企业&#xff0c;强大且高性能的消息传递系统至关重要。Apache Kafka 因其速度和可扩展性而成为热门选择&#xff0c;但究竟是什么让它如此之快&#xff1f; 在本期中&#xff0c;我们将探讨&#xff1a; Kafka 的架构及其核心组件&#xff0c;如生…

Xfs文件系统磁盘布局

目录 一&#xff0c;CentOS下Xfs文件系统的安装 二&#xff0c;准备工作 三&#xff0c;AG结构 四&#xff0c;AG超级块 五&#xff0c;AG空闲磁盘空间管理 六&#xff0c;ABTB的Btree 七&#xff0c;ABTB/ABTC的节点块管理 八&#xff0c;inode节点管理 九&#xff0…

【力扣100】34.在排序数组中查找元素的第一个和最后一个位置 || 时间复杂度大小

添加链接描述 class Solution:def searchRange(self, nums: List[int], target: int) -> List[int]:nlen(nums)i,j0,n-1if not n:return [-1,-1]while i<j:midi(j-i)//2if target<nums[mid]:jmid-1elif target>nums[mid]:imid 1else:x,ymid,midwhile x-1>0 and…

Vue-5、el和data的两种写法

1、el 第一种写法 <!DOCTYPE html> <html lang"en" xmlns:v-model"http://www.w3.org/1999/xhtml" xmlns:v-bind"http://www.w3.org/1999/xhtml"> <head><meta charset"UTF-8"><title>el和data的两种写…

vue3中路由的使用(详细讲解)

1、路由的简介 路由(route)&#xff1a;就是根据特定的规则将数据包或请求从源地址传输到目标地址的过程。 在前端或者vue3项目中路由主要用于构建单页面应用程序&#xff08;SPA&#xff09;&#xff0c;其中所有的页面都在同一个HTML文件中加载&#xff0c;通过JavaScript动…

【git使用】常用的 git 撤销操作(restore、reset、revert)

常用命令总结 注意坑 新增文件是未被跟踪状态&#xff08;untracked&#xff09;&#xff0c;也就是下面命令不会对此文件生效所以新增文件&#xff0c;需要先被 git 记录到&#xff0c;也就是 git add new-file之后执行这些操作&#xff0c;就会生效了 # 丢弃工作区的修改&…