Nginx设置HTTPS的方法步骤 443证书配置方法


Posted in Servers onMarch 21, 2022

背景

HTTP

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

优点

  • 支持客户/服务器模式
  • 简单快速:服务器当客户端请求服务时,只需传送请求方法和路径
  • 灵活: HTTP 允许任何类型的数据对象的传输
  • 无连接:限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • 无状态:协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能改变这个结果。

缺点

  • HTTP协议传输数据,都是通过明文的方式在互联网上传递(如账号、密码、身份信息、浏览器记录和交易记录)
  • 任何人都可以轻松拦截、窃取或篡改数据,可能造成你的隐私数据泄露(中间人攻击)

HTTPS

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 [1] 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。

原理图如下:

Nginx设置HTTPS的方法步骤 443证书配置方法

简单来说,https是在http的基础上添加了证书来验证安全性,客户端拿到了https的证书会向证书服务器去验证证书的真伪,这样就可避免中间人攻击。在向证书服务器验证证书后,客户端就能拿到服务器的公钥,同时客户端也会生成这次自己的私钥和公钥,在请求传输的过程中会使用服务器公钥将数据和客户端公钥进行加密,这种加密是非对称加密的(很难破解),服务器拥有私钥可以将数据进行解密。服务器返回数据时会使用客户端的公钥进行加密,这样只有客户端才能使用私钥解密数据。这个过程是安全的。

配置过程

这里我使用的是nginx服务器配置域名htpps(配置SSL证书)

域名证书申请

我是使用腾讯云购买的域名:sunbt.ltd

国内服务器使用域名时需要备案,这里我默认都已经备案

进入腾讯的SSL证书管理页面,申请对应的域名证书

Nginx设置HTTPS的方法步骤 443证书配置方法

下载对应的证书,这里我选择NGINX版本的

Nginx设置HTTPS的方法步骤 443证书配置方法

编辑nginx.conf文件

将证书解压放到服务器对应位置上

Nginx设置HTTPS的方法步骤 443证书配置方法

添加如下内容:

server {
        #SSL 访问端口号为 443
        listen 443 ssl; 
        #填写绑定证书的域名
        server_name www.sunbt.ltd; 
        #证书文件名称
        ssl_certificate /usr/local/nginx/conf/ssl/www.sunbt.ltd_bundle.crt; 
        #私钥文件名称
        ssl_certificate_key /usr/local/nginx/conf/ssl/www.sunbt.ltd.key; 
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        location @router {
            rewrite ^.*$ /index.html last;
         }
        location / {
                root /usr/local/nginx/html/web/blog; # /vue/dist/ 打包后的dist目录
                try_files $uri $uri/ @router; # 指向下面的 @router否则会出现 404
                index index.html index.htm;
        }

    }

让http请求跳转到https

修改配置如下:

server {
    listen 80;
    #填写绑定证书的域名
    server_name cloud.tencent.com; 
    #把http的域名请求转成https
    return 301 https://$host$request_uri; 
}

到此这篇关于NGINX设置HTTPS的文章就介绍到这了,更多相关NGINX设置HTTPS内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
Linux安装Nginx步骤详解
Mar 31 Servers
解决xampp安装后Apache无法启动
Mar 21 Servers
CKAD认证中部署k8s并配置Calico插件
Mar 31 Servers
基于Apache Hudi在Google云构建数据湖平台的思路详解
Apr 07 Servers
Nginx禁止ip访问或非法域名访问
Apr 07 Servers
Tomcat项目启动失败的原因和解决办法
Apr 20 Servers
阿里云ECS云服务器快照的概念以及如何使用
Apr 21 Servers
nginx lua 操作 mysql
May 15 Servers
win server2012 r2服务器共享文件夹如何设置
Jun 21 Servers
Windows server 2022创建创建林、域树、子域的步骤
Jun 25 Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
Sep 23 Servers
码云(gitee)通过git自动同步到阿里云服务器
Dec 24 Servers
nginx共享内存的机制详解
Nginx的基本概念和原理
解决xampp安装后Apache无法启动
Nginx图片服务器配置之后图片访问404的问题解决
Shell脚本一键安装Nginx服务自定义Nginx版本
Nginx实现会话保持的两种方式
Mar 18 #Servers
Nginx实现负载均衡的项目实践
Mar 18 #Servers
You might like
PHP几个数学计算的内部函数学习整理
2011/08/06 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
php无限遍历目录示例
2014/02/21 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
Yii2单元测试用法示例
2016/11/12 PHP
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
Python Logging 日志记录入门学习
2018/06/02 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
使用Python实现音频双通道分离
2020/12/25 Python
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
会计主管岗位职责范文
2013/11/08 职场文书
将相和教学反思
2014/02/04 职场文书
主题婚礼策划方案
2014/02/10 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
毕业生面试求职信
2014/06/23 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
在HTML中引入CSS的几种方式介绍
2021/12/06 HTML / CSS