Nginx:SSL/TLS 配置

devtools/2025/1/8 11:19:44/

在这里插入图片描述
HTTPS 协议简单来说就是“HTTP 协议”和“SSL/TLS 协议”的组合。

HTTPS 工作流程图描述

1. 客户端发起 HTTPS 请求
  • 说明:用户在浏览器中输入一个 HTTPS URL 或点击一个 HTTPS 链接。浏览器会向指定的服务器发起一个 HTTPS 请求。

    [客户端] --发起HTTPS请求--> [DNS服务器]
    
2. DNS 解析
  • 说明:浏览器首先进行 DNS 查询,以将域名解析为 IP 地址。

    [客户端] <--返回IP地址-- [DNS服务器]
    
3. TCP 连接建立
  • 说明:一旦得到服务器的 IP 地址,浏览器会尝试与服务器建立 TCP 连接(通常是三次握手过程)。
[客户端] --TCP连接请求(SYN)--> [服务器]
[客户端] <--TCP连接响应(SYN-ACK)-- [服务器]
[客户端] --TCP连接确认(ACK)--> [服务器]
4. TLS 握手协议
  • 说明:TCP 连接建立后,浏览器和服务器之间开始 TLS 握手协议,确保通信的安全性。

    • 4.1 客户端问候 (Client Hello):客户端发送支持的加密套件列表和其他参数。
    • 4.2 服务器问候 (Server Hello):服务器选择一个加密套件,并发送其 SSL 证书。
    • 4.3 证书验证:客户端验证服务器提供的 SSL 证书的有效性和可信度,比如是否在有效期内,证书的用途是不是匹配Client请求的站点,是不是在CRL吊销列表里面,它的上一级证书是否有效,这是一个递归的过程,直到验证到根证书(操作系统内置的Root证书或者Client内置的Root证书)。如果验证通过则继续,不通过则显示警告信息。
    • 4.4 密钥交换:双方协商生成用于加密通信的对称密钥。客户端使用伪随机数生成器生成加密所使用的对称密钥,然后用证书的公钥加密这个对称密钥,发给服务器。服务器使用自己的私钥解

http://www.ppmy.cn/devtools/148876.html

相关文章

基于Arduino的FPV头部追踪相机系统

构建FPV头部追踪相机&#xff1a;让你置身于遥控车辆之中&#xff01; 在遥控车辆和模型飞行器的世界中&#xff0c;第一人称视角&#xff08;FPV&#xff09;体验一直是爱好者们追求的目标。通过FPV头部追踪相机&#xff0c;你可以像坐在车辆或飞行器内部一样&#xff0c;自由…

【设计模式-1】软件设计模式概述

1. 软件设计模式的产生背景 “设计模式”这个术语最初并不是出现在软件设计中&#xff0c;而是被用于建筑领域的设计中。 1977 年&#xff0c;美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫亚历山大&#xff08;Christopher Alexander&#xff09;在…

【简博士统计学习方法】第1章:1. 统计学习的定义与分类

自用笔记 1. 统计学习的定义与分类 1.1 统计学习的概念 统计学习&#xff08;Statistical Machine Learning&#xff09;是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。 以计算机和网络为平台&#xff1b;以数据为研究对象&#xff1b;以…

moviepy 将mp4视频文件提取音频mp3 - python 实现

DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#xff0c;持续增加中。 需要更多数据资源和技术解决方案&#xff0c;知识星球&#xff1a; “DataBall - X 数据球(free)” -------------------------------------------------------------…

点亮一个esp32 的led

最近入了一个ESP32 兄弟们&#xff0c;这玩意还可以&#xff0c;买来肯定是给它点亮啊对吧 我就是点灯侠&#x1f387; &#x1f62d;千万不要不接天线啊&#xff0c;不然你会一直找不到你的wifi 1.点灯第一步你得有IDE Arduino 就是这个绿东西 可是怎么下载安装呢&#xff…

windows10中VMWare 16不能启用虚拟化解决方案Docker启动

已经打开BIOS中虚拟化线程安全支持&#xff0c;并且系统显示虚拟化&#xff1a;已启用。 在windows下安装VMWare 16&#xff0c;配置虚拟机支持虚拟化技术 但启动虚拟机时&#xff0c;提示如下报错&#xff0c;无法启动&#xff0c; 操作【是】提示 按照搜索到的大部分解决方案…

iOS - AutoreleasePoolPage 节点为空时的处理逻辑

1. 空 Page 的判断 struct AutoreleasePoolPage {id *next; // 指向下一个可用位置id *begin(); // 页面起始位置bool empty() {return next begin(); // next 指针回到起始位置表示为空}// 页面的边界id *begin() { return (id *)(this 1); }id *…

XXX公司面试真题

一、一面问题 1.线程池的主要参数 核心线程数最大线程数空闲线程存活时间存活时间单位任务队列线程工厂拒绝策略允许核心线程超时 2. 线程的状态 新建状态就绪状态运行状态阻塞状态死亡状态 补充&#xff1a;线程阻塞的原因 线程调用sleep()方法进入睡眠状态 线程得到一个…