Nginx配置免费的SSL证书实现https访问
一、HTTP与HTTPS的介绍
1.HTTP简介
1.1HTTP是什么
HTTP是超文本传输协议,也就是在一个计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
1.2HTTP 优点
HTTP最凸出的优点是:简单、灵活和易于扩展、应用广泛和跨平台
简单:HTTP基本的报文格式是header+body,头部信息也是key-value简单的文本形式,易于理解,降低了学习和使用门槛。
灵活和易于扩展:HTTP协议里的各类请求方法,URI/URL、状态码、头字段等每个组成都要求没有被固定死,都允许开发人员自定义和扩充,同时HTTP是工作在应用层(OSI第七层),则它的下层可以随意变化。
应用广泛和跨平台:HTTP的应用范围非常广泛,从台式机的浏览器到手机上的各类APP,HTTP的应用遍地开发,同时天然具有跨平台的优越性。
1.3HTTP的缺点
HTTP协议里有优缺点一体的双刃剑,分别是无状态、明文传输,同时还有一大缺点不安全。
不安全:
1.使用文明(不加密),内容可能会被窃听。比如,账号信息容易泄露。
2.不验证通信方的身份,可能遭遇伪装。比如假的淘宝,拼多多等。
3.无法证明报文的完整性,有可能遭到篡改。比如网页上植入垃圾广告。
2.HTTPS简介
HTTPS解决了HTTP所存在的问题
1.混合加密的方式实现信息的机密性,解决了窃听的风险。
2.摘要算法的方式来实现完整性,它能够为数据生成独一无二的「指纹」,指纹用于校验数据的完整性,解决了篡改的风险。
3.将服务器公钥放入到数字证书中,解决了冒充的风险。
二、HTTP和HTTPS的主要区别
1.HTTP是超文本传输协议,信息是文明传输,存在安全风险的问题。HTTPS则解决HTTP不安全的缺陷,在TCP和HTTP网络层之间加入了SSL/TLS安全协议,使得报文能够加密传输
2.HTTP连接建立相对简单,TCP三次握手之后便可以进行HTTP的报文传输,而HTTPS在TCP三次握手之后,还需进行SSL/TLS的握手过程,才可以进入加密报文传输。
3.HTTP的端口是80,HTTPS的端口是443.
4.HTTPS协议需要向CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。
以上内容参考子小林coding,如有侵权联系删除
三、nginx的安装
请参考之前安装nginx的文章
四、阿里云SSL证书申请
1.登录阿里云,选择控制台
2.搜索SSL证书
3.找到SSL证书
4.购买免费证书
5.申请证书
6.下载证书
这样我们的证书就制作完成了
五、域名申请并绑定
1.登录阿里云账号,点击控制台,域名
2.信息模板创建,(审核大概需要3-5天)
这里根据实际情况填写即可
3.域名注册
下一步结算即可,但如果是初次申请域名,需等待信息模板审核通过后购买
这样我们的域名就已经注册成功了,接下来进行域名绑定
4.域名绑定
在填写主机记录的时候建议添加两条A纪律,即www和@,这样即可实现不加www和使用www访问的功能
六、Nginx配置SSL证书实现https访问
1.修改配置文件绑定域名并启动nginx访问
vim /usr/local/nginx/conf/nginx.conf
server_name 域名
/usr/local/nginx/sbin/nginx
输入域名访问nginx
这时我们通过访问发现这是http的,是不安全的,因此我们需要配置ssl证书,实现https的访问