nginx实现https安全访问的详细配置过程

news2024/9/21 20:36:47

文章目录

  • 前言
    • 什么是 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)中获取的,所以会显示链接不安全,选择高级
在这里插入图片描述
继续访问就行
在这里插入图片描述
就能看到测试页面了
在这里插入图片描述

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

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

相关文章

IDEA 怎么编辑文件模板

1.打开设置2.打开编辑者,选择编辑文件模板 3.点击加号4.先随便编译一次5.之后编辑文件模板就有了

电脑浏览器访问华为路由器报错,无法访问路由器web界面:ERR_SSL_VERSION_OR_CIPHER_MISMATCH 最简单的解决办法!

This site can’t provide a secure connection192.168.2.1 uses an unsupported protocol. ERR_SSL_VERSION_OR_CIPHER_MISMATCH 以上是chrome浏览器访问报错 Secure Connection Failed An error occurred during a connection to 192.168.2.1. Peer using unsupported versio…

python 异步执行 apply_async 方法

1.项目需要读取hive表数据,并对返回的数据进行解析; select * from table ; 2.返回数据,根据库、表,对其进行 下一步执行; 中间遇到一个棘手的问题,在python线程池中,使用异步非阻塞 apply_a…

(k8s)kubernetes 挂载 minio csi 的方式(pod挂载pvc存在csi驱动问题,挂载不上)

一、安装Minio(Minio分布式集群搭建部署_minio集群最少几台-CSDN博客) 生成accessKeyID和secretAccessKey: 二、安装csi-s3插件(在k8s集群上) 首先我们把插件的yaml文件都下载下来,为了保证版本测试的一致性,我们下载…

如何在社交媒体上赚取(可观的)收入

有很多百万富翁是通过社交媒体粉丝建立起他们的财富的,而且其中大部分并不是Instagram网红或YouTube明星。 例如,Nick Huber通过社交媒体粉丝建立了几家企业,这些企业现在每月创造40万美元的收入。 而George Blackman在Twitter上仅有不到8,0…

微信自动回复设置真嘎嘎好用!

无论是商户、个人品牌还是普通用户,及时回应朋友和客户的信息至关重要。然而,手动一一回复既耗时又容易遗漏,这时,微信的自动回复功能就显得尤为重要。 今天,就教大家一招——通过个微管理系统,实现微信自…

怎么在线制作活码二维码?活码在电脑快速制作的方法

怎么制作活码类型的二维码?活码是现在很常用的一种内容展示,将内容通过二维码来展示,可以长期提供内容展示,而且在更新内容无需重新生码,可以直接在原码中修改。与其他方式相比有效提高内容传播的效率,在节…

【信号】SIGCHLD信号--了解

SIGCHLD是多少号信号呢?17号 我们知道用wait和waitpid函数清理僵尸进程,父进程可以阻塞等待子进程结束,也可以非阻塞地查询是否有子进程结束等待清理(也就是轮询的方式)。采用第一种方式,父进程阻塞了就不能处理自己的工作了;采用第二种方式,父进程在处理自己的工作…

iptables实现内外网ip转换

准备三台虚拟机 内网访问外网 网络设置为仅主机(关闭DHCP功能) 设置一台双网卡机器充当iptables服务器 设置一台内网机 设置一台外网机,下载并开启httpd服务 在iptables服务器上设置iptables 在/etc/sysctl.conf中添加net.ipv4.ip_forwar…

零基础入门大模型,带你构建第一个大模型:实战指南

2017年是机器学习领域历史性的一年。Google Brain 团队的研究人员推出了 Transformer,它的性能迅速超越了大多数现有的深度学习方法。著名的注意力机制成为未来 Transformer 衍生模型的关键组成部分。Transformer 架构的惊人之处在于其巨大的灵活性:它可…

2024年上半年互联网黑灰产研究报告

2024年上半年,黑灰产从业人员人数超过427万,威胁猎人监测到国内作恶手机号数量高达323万,日活跃风险IP数量1136万,涉及洗钱银行卡数量19.5万。 近年来,数字化与实体经济的融合日渐深入,大规模业务线上场景…

Golang开发之路

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

做谷歌seo,b端跟c端有什么区别吗?

事实上大部分都没有区别,谷歌seo要做的事情其实都差不多,站内优化,站外推广,唯一不同的,就是在关键词的调研以及创建内容的时候不同,不过光是这一点不同,就能导致B端网站跟C端网站的决定性差异&…

HTML + js 生成一个线路走向图,可以标记总共有多少站,用户到达第几站了

文章目录 前言一、用途二、使用步骤1.轨迹代码2.运行前言 HTML + js 生成一个线路走向图 例如:用来记录用户到达那一站了,可以标记总共有多少站,用户到达第几站了 提示:以下是本篇文章正文内容,下面案例可供参考 一、用途 用来记录用户到达那一站了,可以标记总共有多少…

保姆级AI编程Cursor-Vscode使用教程

一: 下载,安装(输入语言后,然后迁移插件) 下载地址:https://www.cursor.com/settings 二: 登录 三. 玩AI--给一张UI图,一键生成需求代码(需要自己去小改一下,大部分都可用) 四、项目实践-优…

苹果手机管理软件哪个好用 苹果手机如何从安卓手机导入数据

随着科技的发展,手机已经成为我们日常生活中不可或缺的一部分。苹果手机以其稳定的性能和卓越的用户体验受到广大用户的喜爱。然而,如何高效管理苹果手机以及如何从安卓手机导入数据,是许多用户在使用过程中常遇到的问题。本文将围绕“苹果手…

异步和多线程

概念 异步(Asynchronous): 异步是一种编程模型,其核心思想是在等待I/O操作(如文件读写、网络通信等)完成时,不阻塞当前线程的执行,而是允许程序继续执行其他任务。当I/O操作完成后&…

Linux系统调用进程标识符

目录 一、冯诺依曼体系结构 二、操作系统 2.1什么是操作系统? 2.2为什么需要操作系统? 2.3怎么管理? 2.4总结 2.5系统调用 三、进程的理解 3.1进程的基本概念 3.2对进程的描述 3.3对进程的组织 3.4task_struct内容的分类 3.5Linux下…

2024年【危险化学品生产单位安全生产管理人员】考试资料及危险化学品生产单位安全生产管理人员考试试卷

题库来源:安全生产模拟考试一点通公众号小程序 2024年危险化学品生产单位安全生产管理人员考试资料为正在备考危险化学品生产单位安全生产管理人员操作证的学员准备的理论考试专题,每个月更新的危险化学品生产单位安全生产管理人员考试试卷祝您顺利通过…

5大公有公有云数据库厂商发展太猛!作为DBA的我,有点焦虑!

未来数据库的战场主要是公有云,且公有云的比重确实也在逐年上升,那么是不是这么回事呢?我们来分别看下几个云厂商巨头的公有云营收和增速! 全球公有云王者AWS 2022年半年报: 2023年半年报: 2024年半年报&a…