Nginx服务器中配置https安全协议快速入门
一. 简介
HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS是以网络安全为目标的HTTP通道,简单地讲就是HTTP的安全版,即HTTP中加入了SSL层,HTTPS的安全基础就是SSL,因此加密的详细内容就需要SSL。如我们经常访问的百度:
二. https和http区别
HTTP与HTTPS的区别:
https协议需要到ca申请证书,一般免费证书较少,大多需要一定的费用;
http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议;
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443;
http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的,可进行加密传输、身份认证的网络协议,比http协议安全。
三. https协议优缺点
优点
使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性;
HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
缺点
HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用;
SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗;
HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的是,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。
四. nginx中配置https
1. 准备证书
要想正式使用https协议,我们需要先行购买CA证书(本教程是通过对接 阿里云平台免费获得)。
2.下载证书到本地
然后我们登录数字证书管理服务控制台,在左侧导航栏单击SSL证书,如下图所示:
接着单击目标证书操作列的下载按钮,在证书下载面板,单击Nginx服务器对应的操作列下载按钮。
该操作会将Nginx服务器的证书压缩包下载到本地,并保存在浏览器的默认下载位置。
解压缩证书
然后我们打开浏览器的默认下载位置,解压已下载的Nginx服务器证书压缩包文件。解压后我们将会获得以下文件:
www.javaqf.com.key www.javaqf.com.pem
4. 在Nginx服务器上安装证书
首先我们需要登录Nginx服务器。执行以下命令,在Nginx安装目录(默认为/usr/local/nginx/conf)下创建一个用于存放证书的目录:
文件中的配置内容如下所示:
5. 接入流程(最终个人本地配置示例)
这里我们需要将协议更改为HTTPS配置文件,我的配置如下所示:
最后我们就可以在浏览器中通过https协议进行访问了,比如:https://www.你的域名.com/
现在你知道如何在nginx服务器中配置https协议了吗?如果你还有其他问题,可以在评论区给我留言哦。关注Java架构栈,干货天天都不断哦!