Nginx配置https网站

2023-11-19

1、什么是https?

https超文本传输安全协议是http、ssl安全套接层和tls传输层安全的组合。用于提供加密通信和鉴定网络服务器的身份。网上的支付交易、个人隐私和企业中的敏感信息等越来越受到人们的关注和保护。因此https目前已经是所有注重隐私和安全的网站首选。

要想实现https加密网站,在服务器端首先要获得CA(Certification Authority)认证机构颁发的服务器数字证书(CRT),然后浏览器在发起https请求的时候会验证服务器的CRT是否合法,如不合法就给出一个warning提示信息,若合法,用户在与网站交互的时候,所传输的数据都是加密后的数据,达到了安全可靠的效果。

Nginx服务器中的ngx_http_ssl_module模块用于提供https网站的配置。专业的CA机构颁发的证书是收费的,且需要IP地址和域名。

2、颁发认证证书:

使用Openssl命令实现认证证书的办法功能:

1)生成服务器的RSA私钥

mkdir /usr/local/nginx/conf/ssl

cd /usr/local/nginx/conf/ssl
openssl genrsa -out server.key 2048

命令说明:

1)在conf目录中创建ssl目录;

2)然后使用openssl 生成rsa私钥,genrsa:生成rsa私钥,-out server.key:表示输出的文件名,文件所在的目录为执行当前openssl命令时所在的目录;

3)2048: 密钥长度是2048位。至少是2048位,长度越长,安全性越强。

2)生成服务器的CSR证书请求文件:

CSR证书请求文件是服务器的公钥,用于提交给CA机构进行签名。

说明:

1)程序在生成的过程中需要填写说明:

2)Organizaiton Name: 填写公司名称。

3)Common Name: 必须填写与实际使用https的网站域名吻合。我这边是chang.com 否则会引起浏览器警告。

以上生成的两个文件:

server.key: 是服务器的私钥。

server.csr: 相当于公钥。

利用公钥可以对数据进行加密,加密之后只有私钥才能解密。

私钥用于对数据进行数字签名,签名后的数据可以利用公钥进行验证。

3)CA为服务器认证证书:

openssl x509 -req -days 30 -in server.csr -signkey server.key -out server.crt

说明:

1)使用CA的私钥server.key 为服务器的CSR证书申请文件server.csr 进行签名认证。其中x509是自签名证书格式days 30 是设置签发证书的有效期为30天。

CA利用私钥签名证书后,该证书将用于浏览器验证请求的网站是否真实,防止网络通信过程中伪造。浏览器保存了受信任的CA机构的公钥,在请求https网站的时候,会利用CA公钥验证服务器的证书,并检查域名是否吻合、证书是否过期、证书是否过期、证书是否已经被吊销等。

3)配置HTTPS网站:

加密通信的时候,浏览器通过网站的证书可以获得服务器的公钥,然后利用公钥加密请求信息,Nginx收到后再利用服务器的私钥解开信息。

浏览器在证书认证后,会在请求信息中包含一个自动生成的高强度密钥,就是随机数。服务器收到利用该密钥加密响应消息。

为了提供效率,在证书认证后的一段时间内是直接利用这个密钥进行对称加密通信。

在Nginx服务器中配置SSL服务,首先需要在编译安装Nginx时添加对ngx_http_ssl_module模块的支持。

ssl on;

ssl_certificate:

ssl_certificate_key:  

我们需要平滑重启nginx使配置生效。

修改下宿主机中的hosts文件:

在浏览器中输入:https://www.chang.com

然后选择高级继续前往:

 就可以访问到该网站下的文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nginx配置https网站 的相关文章

随机推荐

  • java集合框架(一)——框架结构及基础接口

    java util包是一个重要的包 包含许多类和接口 它还包括java的一个功能强大的子系统 集合框架 集合框架是一个复杂接 口和类的层 提供了管理对象组的优化技术 使用集合框架的目的有几个 首先这种框架必须是高性能的 基础集合 动态数组
  • Java String6,7,8,9区别 以及 有哪些方式可以提高性能

    String 对象在jdk不同版本中的实现 String对象是 Java 中使用最频繁的对象之一 所以 Java 公司也在不断的对String对象的实现进行优化 以便提升String对象的性能 看下面这张图 一起了解一下String对象的优
  • 每日一个Python基础练习题

    题目 有四个数字 1 2 3 4 能组成多少个互不相同且无重复数字的三位数 各是多少 可填在百位 十位 个位的数字都是1 2 3 4 组成所有的排列后再去 掉不满足条件的排列 代码 a 100 b 10 c r 1 for a in ran
  • 朗润国际期货技术分析——日内交易图表类型

    一张图表胜过千言万语 你以前听说过这句话 对吗 在日内交易员的世界里 一张图表往往比千言万语更有价值 它不仅告诉我们过去发生了什么 而且告诉我们一个市场在未来可能会做什么 它将继续走高还是走低 它是否处于一个区间 也许一个重大的方向变化或反
  • 2D/3D人体姿态估计 (2D/3D Human Pose Estimation)

    1 基本概念 算法改进入口 网络设计 特征流 损失函数 数据集的重要性 只要有一个好的 针对性的数据集 问题都可以解决 过集成新一代AutoML技术 可降低算法试错成本 人体姿态估计 Human Pose Estimation 是指图像或视
  • 在C语言中,“>>=”;“<<=”;“&=”;“

    C语言中 gt gt 的意思是 右移后赋值 示例 x 8 1000 x gt gt 3 结果为 0001 C语言中 lt lt 的意思是 左移后赋值 示例 x 1 0001 x lt lt 3 结果为 1000 C语言中 的意思是 按位与后
  • pycharm 代码上传到gitee仓库里

    目录 一 准备 二 1 新建仓库 2 commit和push 一 准备 1 在pycharm中安装插件 github git 2 在本地安装git 二 1 新建仓库 首先在pycharm中打开自己的本地项目 如果没有配置过 主界面应该是这样
  • 2023年数学建模B组:利用AHP层次分析法解决实际问题(Matlab)

    目录 利用AHP层次分析法解决实际问题 Matlab实现 介绍 案例背景 步骤1 建立层次结构模型
  • Flutter酷炫的路由动画效果

    现在Flutter的路由效果已经非常不错了 能满足大部分App的需求 但是谁不希望自己的App更酷更炫那 下面介绍几个酷炫的路由动画 其实路由动画的原理很简单 就是重写并继承PageRouterBuilder这个类里的transitions
  • 详解JS前端异步文件加载篇之Async与Defer区别

    目录 同步 异步及推迟的概念 async和defer解决文件加载阻塞问题 在了解async和defer的区别之前 我们需要先了解同步 异步和推迟的概念 同步 异步及推迟的概念 假如现在有一条非常狭隘的胡同 里面有两个人挨着走 那么现在请问后
  • Java集合的两种遍历方式

    Java集合共有两种遍历方式 增强for循环 foreach 迭代器 Main方法 public static void main String args 创建集合 Collection collection new ArrayList 添
  • XXL-JOB分布式任务调度平台配置详解

    XXL JOB是一个分布式任务调度平台 其核心设计目标是开发迅速 学习简单 轻量级 易扩展 个人建议 对于需要定时调度任务开箱即用的小伙伴来说 完全可以学习参考下 本文主要介绍了Xxl Job分布式任务调度框架的配置信息详解 以及路由策略
  • git clone下新项目后运行报错‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

    报错 vue cli service 不是内部或外部命令 也不是可运行的程序 或批处理文件 因为项目里还没有node modules这个包 需要运行npm install 运行后没有报错但是有个警告 npm WARN read shrink
  • MySQL导入导出数据mysqldump,mysql,select into file,load data

    研发人员往往需要从数据库中导出数据 或者将数据导入到数据库中 一些客户端工具提供了简单方便的功能 可以让他们不用使用命令进行操作 但是客户端工具可能会受到环境的限制而不能使用 所以 研发人员有必要掌握一些常用的命令来进行操作数据 MySQL
  • 残差神经网络的研究

    目录 一 ResNet残差神经网络 1 1 提出 1 2 作用 1 3 应用场景 1 4 残差单元的结构 1 4 1 残差网络得名的原因 1 4 2 残差网络可以有效缓解退化现象的原因 1 4 3 数学原理 二 附录 2 1 残差神经网络可
  • GD32F303调试小记(一)之USART(接收中断、接收空闲中断+DMA、发送DMA)

    前言 之前写了GD32F103调试小记 二 之USART 接收中断 接收空闲中断 DMA 发送DMA 一文 这次我们来看看GD32F303的USART是如何配置的 结合这两篇文章 相信大家GD32的USART配置流程会十分熟悉 DMA 能大
  • SpringBoot项目实战,附源码

    SpringBoot2 0笔记 一 SpringBoot基本操作 环境搭建及项目创建 有demo 二 SpringBoot基本操作 使用IDEA打war包发布及测试 三 SpringBoot基本操作 SpringBoot整合SpringDa
  • 逆向爬虫09 协程 & 异步编程(asyncio)

    逆向爬虫09 协程 异步编程 asyncio 1 什么是协程 What 协程 Coroutine 也可以被称为微线程 是一种用户态内的上下文切换技术 简而言之 其实就是通过一个线程实现代码块相互切换执行 def func1 print 1
  • Unity 拖尾(Trail Renderer)效果的实现

    1 新建场景 创建一个球 在球上添加组件Trail Renderer 2 在Trail Renderer组件设置Time为0 5 Materials材质 3 Width下点击右键 Add key 添加控制点 起始宽度为1 0 结束宽度为0
  • Nginx配置https网站

    1 什么是https https超文本传输安全协议是http ssl安全套接层和tls传输层安全的组合 用于提供加密通信和鉴定网络服务器的身份 网上的支付交易 个人隐私和企业中的敏感信息等越来越受到人们的关注和保护 因此https目前已经是