nginx实现https安全访问的详细配置过程
文章目录
- 前言
- 什么是 HTTP?
- 什么是 HTTPS?
- HTTP 和 HTTPS 的区别
- 为什么 HTTPS 被称为安全的?
- 配置过程
- 配置自签名证书
前言
首先我们来简单了解一下什么是http和https以及他们的区别所在.
什么是 HTTP?
HTTP,全称为“超文本传输协议”(Hypertext Transfer Protocol),是用于在客户端和服务器之间传输信息的基础协议。当你在浏览器中输入网址并访问一个网站时,浏览器使用 HTTP 协议与服务器通信,获取网页内容。HTTP 协议是无状态的,也就是说,它不会保存任何之前的请求或响应记录,每次请求都是独立的。
什么是 HTTPS?
HTTPS,即“超文本传输安全协议”(Hypertext Transfer Protocol Secure),是在 HTTP 的基础上增加了安全层的协议。它通过在传输过程中加密数据,确保信息的安全性。HTTPS 使用了 SSL/TLS(安全套接层/传输层安全协议)加密技术,以保护用户的数据不被窃取或篡改。
HTTP 和 HTTPS 的区别
加密与安全:
HTTP: 数据在传输过程中是明文的,任何中间人(如黑客)都可以轻易地窃取或篡改数据。
HTTPS: 数据在传输过程中经过加密处理,即使被截获,数据也无法被解读或篡改。SSL/TLS 加密技术保护数据的隐私性和完整性。
数据完整性:
HTTP: 由于数据未加密,传输过程中可能会被篡改,用户接收到的内容可能与服务器发送的内容不同。
HTTPS: 加密的同时,数据的完整性也得到了保障。数据在传输过程中不会被修改,用户和服务器之间的信息传递保持一致。
身份验证:
HTTP: 没有身份验证,用户无法确认与之通信的服务器是否为合法站点。
HTTPS: 使用数字证书验证服务器的身份。浏览器会检查证书的有效性,确保用户与合法的服务器进行通信。
浏览器指示:
HTTP: 浏览器地址栏中显示普通的“HTTP”标识,可能没有明显的安全提示。
HTTPS: 浏览器地址栏会显示“https://”和一个锁形图标,表明网站使用了加密协议。这为用户提供了安全性确认。
为什么 HTTPS 被称为安全的?
HTTPS 被称为“安全”的原因在于它结合了以下几个关键特点:
加密保护:
HTTPS 使用 SSL/TLS 协议对数据进行加密,确保数据在传输过程中不能被第三方读取或篡改。这种加密机制使得数据即使被截获也无法解读,保护了用户的信息隐私。
数据完整性:
加密还确保数据在传输过程中不会被修改。任何数据篡改行为都会被检测到,从而避免数据被恶意修改。
身份验证:
HTTPS 使用数字证书验证服务器的真实性。用户可以确信他们与合法的、受信任的网站进行通信,防止了中间人攻击。
配置过程
因为是虚拟机环境,所以我们这里使用的是自签名证书,仅仅使用于开发环境和内部网络,如果在工作环境中,请从受信任的证书颁发机构(CA)获取证书
配置自签名证书
初始环境基于
链接: web群集–rocky9.2源码部署nginx1.24的详细过程
1.生成私钥
openssl genrsa -out /usr/local/nginx/conf/nginx.key 2048
2.创建证书签名请求(CSR):
openssl req -new -key /usr/local/nginx/conf/nginx.key -out /usr/local/nginx/conf/nginx.csr
然后一直回车就行
3.生成自签名证书:
openssl x509 -req -days 365 -in /usr/local/nginx/conf/nginx.csr -signkey /usr/local/nginx/conf/nginx.key -out /usr/local/nginx/conf/nginx.crt
4.在nginx配置文件中配置ssl证书和私钥的路径
先创建一个测试页面
echo web1 > /usr/local/nginx/html/index.html
然后更改配置文件
vim /usr/local/nginx/conf/nginx.conf
server {listen 443 ssl;server_name localhost;ssl_certificate /usr/local/nginx/conf/nginx.crt;ssl_certificate_key /usr/local/nginx/conf/nginx.key;location / {root html;index index.html index.htm;}
}
其实就是创建了一个新的server块,监听443端口以及添加了用来指定证书和私钥的路径
ssl_certificate /usr/local/nginx/conf/nginx.crt;
ssl_certificate_key /usr/local/nginx/conf/nginx.key;
重启nginx使配置生效
systemctl restart nginx
浏览器访问
https://192.168.10.11/
因为使用的是自签名证书而不是从受信任的证书颁发机构(CA)中获取的,所以会显示链接不安全,选择高级
继续访问就行
就能看到测试页面了
相关文章:

nginx实现https安全访问的详细配置过程
文章目录 前言什么是 HTTP?什么是 HTTPS?HTTP 和 HTTPS 的区别为什么 HTTPS 被称为安全的?配置过程配置自签名证书 前言 首先我们来简单了解一下什么是http和https以及他们的区别所在. 什么是 HTTP? HTTP,全称为“超…...
1. TypeScript基本语法
TypeScript 学习总结 TypeScript 是一种 JavaScript 的超集,增加了静态类型检查和编译时错误检测,从而提高了代码的可维护性和可靠性。以下是 TypeScript 的基础知识总结,包括语法、运算符、数据类型、变量声明和作用域。 ## 基本语法TypeS…...
C# UDP与TCP点发【速发速断】模式
1、UDP 客户端 //由于收发都在本机,所以只用一个IP地址 IPAddress addr IPAddress.Parse("127.0.0.1"); var ptLocal new IPEndPoint(addr,9001);//本机节点,用于发送var ptDst new IPEndPoint(addr,9002);//目标节点…...

pikachu下
CSRF(跨站请求伪造) CSRF(get) url变成了这样了,我们就可以新开个页面直接拿url去修改密码 http://pikachu-master/vul/csrf/csrfget/csrf_get_login.php?username1&password2&submitLogin CSRF(post) 这里只是请求的方式不同,…...

Go语言开发im-websocket服务和vue3+ts开发类似微信pc即时通讯
前言 IM即时通讯聊天, 为软件开发者打造,不依赖第三方sdk,完全用Go语言开发即时通讯服务,支持H5、Electron、Wails 、Uniapp和各种小程序的IM即时通讯, 快速实现私聊、群聊、在线客服!让你快速搭建一个微信聊天系统,打…...

Redis如何实现分布式锁
目录 获取锁: 释放锁: Lua脚本: Redisson 分布式锁是,满足分布式系统或集群模式下多进程可见并且互斥的锁,因为我们熟知的java中的锁只是在单体架构下单个jvm中才会生效,如果部署了多个jvm则会导致新的…...

面向对象程序设计之继承(C++)
1.继承的定义 1.1继承的概念 继承(inheritance)机制是⾯向对象程序设计使代码可以复⽤的最重要的⼿段,它允许我们在保持原有类特性的基础上进⾏扩展,增加⽅法(成员函数)和属性(成员变量),这样产⽣新的类,称派⽣类。继承 呈现了⾯向…...

IAPP发布《2024年人工智能治理实践报告》
文章目录 前言一、黑箱问题►透明度、可理解性与可解释性二、法律和政策中的注意事项►欧盟的《通用数据保护条例》►欧盟的AI法案►NIST的AI风险管理框架►美国的第14110号行政命令►《生成式人工智能服务管理暂行办法》►新加坡的AI验证三、实施人工智能治理►模型卡与系统卡…...

了解MySQL 高可用架构:主从备份
为了防止数据库的突然挂机,我们需要对数据库进行高可用架构。主从备份是常见的场景,通常情况下都是“一主一从/(多从)”。正常情况下,都是主机进行工作,从机进行备份主机数据,如果主机某天突然意外宕机,从机…...

[OpenCV] 数字图像处理 C++ 学习——15像素重映射(cv::remap) 附完整代码
文章目录 前言1.像素重映射理论基础2.代码实现(1) remap()细节(2)水平翻转(2)垂直翻转(3)旋转 180 度(4)径向扭曲 3.完整代码 前言 像素重映射将图像中的每个像素映射到新位置,实现图像的扭曲、校正等操作。在 OpenCV 中,cv::remap() 函数就是用于实现这…...
Oreace每日运维操作
一.Oreace每日运维操作 目录 一.Oreace每日运维操作 1.1、确认所有的INSTANCE状态正常 1.2、检查文件系统的使用(剩余空间) 1.3 lwh暗码,,、检查日志文件和trace文件记录 1.4 lwh、检查数据库当日备份…...

【XR】AR HUD
1. AR HUD(head up display)原理 目标: 产业链上的各大Tier1及PGU企业都在积极开发这一技术,许多厂家已推出LCOS样机,比如说水晶光电、华阳集团、瀚思通、疆程已在北京车展或去年的上海车展上展出了LCOS方案的AR-HUD样…...
C/C++内存管理——内存泄漏/内存碎片
一、什么是内存泄漏 内存泄漏指的是在程序运行过程中,已经分配给程序使用的内存没有得到及时和正确的释放,导致这部分内存无法被程序再次使用或者被操作系统回收。内存泄漏通常发生在动态分配的内存上,如果这部分内存没有被正确释放,随着时间的推移,越来越多的内存将被占…...

使用 GaLore 预训练LLaMA-7B
项目代码: https://github.com/jiaweizzhao/galorehttps://github.com/jiaweizzhao/galore 参考博客: https://zhuanlan.zhihu.com/p/686686751 创建环境 基础环境配置如下: 操作系统: CentOS 7CPUs: 单个节点具有 1TB 内存的 Intel CP…...
gitlab无法push(pre-receive hook declined)
如果是个人的项目,托管在官网,可以参考这位大佬的, GitLab新建项目后push reject提交失败的解决办法_push rejected-CSDN博客 如果是公司的项目,去项目成员里看自己的身份,如果只是developer,是无法push到…...

物品识别——基于python语言
目录 1.物品识别 2.模型介绍 3.文件框架 4.代码示例 4.1 camera.py 4.2 interaction.py 4.3 object_detection.py 4.4 main.py 4.5 运行结果 5.总结 1.物品识别 该项目使用Python,OpenCV进行图像捕捉,进行物品识别。我们将使用YOLO(…...

【PostgreSQL】安装及使用(Navicat/Arcgis),连接(C#)
简介 PostgreSQL 是一个功能强大的开源对象关系数据库系统 下载地址 PostgreSQL: Downloads 由于我电脑上安装的是arcgispro3.1所以需要下载对应的postgresql版本 PostgreSQL 12 对应的 PostGIS 版本主要是 3.5.0 或更高版本。 安装 一般设置为postgresql 安装扩展插件 此…...

第L6周:机器学习-随机森林(RF)
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标: 1.什么是随机森林(RF) 随机森林(Random Forest, RF)是一种由 决策树 构成的 集成算法 &#…...

【电路笔记】-差分运算放大器
差分运算放大器 文章目录 差分运算放大器1、概述2、差分运算放大器表示2.1 差分模式2.2 减法器模式3、差分放大器示例3.1 相关电阻3.2 惠斯通桥3.3 光/温度检测4、仪表放大器5、总结1、概述 在之前的文章中,我们讨论了反相运算放大器和同相运算放大器,我们考虑了在运算放大器…...
git 命令---想要更改远程仓库
在 Git 中,origin 是默认的远程仓库名称。可以使用以下命令查看当前 Git 仓库的 origin 名称及其对应的 URL: git remote -v这个命令会列出所有配置的远程仓库及其名称,其中 origin 通常是克隆时自动设置的默认远程仓库名称。输出示例&#…...
云服务器自带的防御可靠吗
最近有不少朋友问我,云服务器自带的防御靠不靠谱。就拿大厂的云服务器来说,很多都自带5G防御。但这5G防御能力,在如今的网络攻击环境下,真的有些不够看。 如今,网络攻击手段层出不穷,攻击流量更是越来越大。…...

基于51单片机的车内防窒息检测报警系统
目录 具体实现功能 设计介绍 资料内容 全部内容 资料获取 具体实现功能 具体实现功能: (1)检测车内温度及二氧化碳浓度并用lcd1602实时显示。 (2)当人体红外传感器检测到车内有人,且温度或二氧化碳浓度…...
寄存器模型生成:从手工到自动化
写代码这件事,总是充满了矛盾。你想要完美控制每一个细节,但又希望能够批量生产。寄存器模型的生成,恰恰体现了这种矛盾。 手工编写的局限性 我们完全可以手工编写一个寄存器模型。代码写出来,功能也能实现,看起来一切…...
Python Rio 【图像处理】库简介
边写代码零食不停口 盼盼麦香鸡味块 、卡乐比(Calbee)薯条三兄弟 独立小包、好时kisses多口味巧克力糖、老金磨方【黑金系列】黑芝麻丸 边写代码边贴面膜 事业美丽两不误 DR. YS 野森博士【AOUFSE/澳芙雪特证】377专研美白淡斑面膜组合 优惠劵 别光顾写…...

贪心算法应用:分数背包问题详解
贪心算法与分数背包问题 贪心算法(Greedy Algorithm)是算法设计中一种重要的思想,它在许多经典问题中展现出独特的优势。本文将用2万字篇幅,深入剖析贪心算法在分数背包问题中的应用,从基础原理到Java实现细节&#x…...
神经网络-Day45
目录 一、tensorboard的基本操作1.1 发展历史1.2 tensorboard的原理 二、tensorboard实战2.1 cifar-10 MLP实战2.2 cifar-10 CNN实战 在神经网络训练中,为了帮助理解,借用了很多的组件,比如训练进度条、可视化的loss下降曲线、权重分布图&…...
【西门子杯工业嵌入式-1-基本环境与空白模板】
西门子杯工业嵌入式-1-基本环境与空白模板 项目资料一、软件安装与环境准备1. 安装MDK52. 安装驱动3. 安装GD32F470支持包 二、工程目录结构建议三、使用MDK创建工程流程1. 新建工程2. 添加工程组(Group)3. 添加源文件 四、编译配置设置(Opti…...
【Go语言基础【四】】局部变量、全局变量、形式参数
文章目录 一、一句话总结二、作用域分类1. 局部变量(函数内/块内变量)1.1、语法说明1.2、示例 2. 全局变量(包级变量)2.1、语法说明2.2、示例:全局变量的访问 3. 形式参数(函数参数) 三、作用域…...
rocketmq延迟消息的底层原理浅析
rocketmq延迟消息的底层原理 消息实体 延时消息是指允许消息在指定延迟时间后才被消费者消费 Apache RocketMQ 中,消息的核心实体类是 org.apache.rocketmq.common.message.Message public class Message implements Serializable {private String topic; …...

04 APP 自动化- Appium toast 元素定位列表滑动
文章目录 一、toast 元素的定位二、滑屏操作 一、toast 元素的定位 toast 元素就是简易的消息提示框,toast 显示窗口显示的时间有限,一般3秒左右 # -*- codingutf-8 -*- from time import sleep from appium import webdriver from appium.options.an…...