Liunx西岭老湿IT编程

大家都升级了HTTPS,你竟然还不会用?来,我教你!

2017-03-15  本文已影响85人  西岭老湿
7032x.png

起因: 之前讲微信小程序的课,在备课时发现微信小程序只能发送HTTPS和WebSocket网络请求,又查看了很多网上流行的各种微信小程序的教程,发现大部分都是使用假数据模拟,根本没有发送真正的网络请求(都是些大神,为什么不写呢?一脸疑惑),于是小弟甘当炮灰,身先士卒,誓要为广大前端开发者找寻出路……

(另:有对WebSocket感兴趣的同学们,可以联系我,同样有教程哦……)

终于,功夫不负有心人,成功的在Nginx服务器上搭建起了HTTPS的服务器,顺利实现微信小程序发送HTTPS的网络请求,获取后台数据;

废话不多说,先来看看,HTTPS是啥?

HTTPS经由超文本传输协议(HTTP)进行通信,但利用SSL/TLS来对数据包进行加密。 HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。

其中尤为重要的就是,HTTPS在HTTP的基础上加入了SSL/TLS协议,依靠SSL证书来验证服务器的身份,并为客户端和服务器端之间建立“SSL加密通道”,确保用户数据在传输过程中处于加密状态,同时防止服务器被钓鱼网站假冒。 那么也就是说,我们要搭建HTTPS服务器,就要先拿到 ssl 证书,而这个证书我们可以自己生成,但是,但是,但是,自己的生成的证书,是无法获得浏览器信任的,自己和自己玩玩还行,一旦别人来访问你的网站,你就和 12306 一样了!

01.png

这可真是个悲剧啊(当然这里这是给大家举个栗子,12306是有原因的,嘘……)
那么,我不是12306,如果别人来访问我的博客,突然先出来这么个玩意,那我就真杯具了……
所以,现在的重点就是我们如何去搞到一个能让浏览器信任的证书?
好,先来看看证书的种类:
DV域名型 https 证书(DVSSL):信任等级一般,只需验证网站的真实性便可颁发证书保护网站;
OV企业型 https 证书(OVSSL):信任等级强,须要验证企业的身份,审核严格,安全性更高;
EV增强型 https 证书(EVSSL):信任等级最高,一般用于银行证券等金融机构,审核严格,安全性最高
一般情况下,证书都是收费的,颁发证书的机构也有不少,但是对于我们个人用户来说,DV证书是比较合适的,当然,有免费的……
提供免费DV证书的国内比较不错的就是七牛和腾讯,都是一年有效期,其实一年足够了,到期后重新申请就可以了;
这里我就在腾讯给大家做个例子,七牛也是类似:
官方网址:SSL证书 - 腾讯云
如果我还在这里教大家如何登录注册腾讯云,那么明显是智商歧视,所以就不说了;
点击申请证书按钮,弹出选择框,就是这个样子的:

02.png

然后填写相应的信息

03.png

紧接着就是让我们选择解析方式,我们这里选择手动DNS验证

04.png

点击确认申请后,弹出提示框,点击查看证书详情,跳转到证书信息页面

05.png 06.png

此时,腾讯会等待我们的DNS解析,打开我们的域名管理,按证书给我们的提示,在域名管理中添加CNAME解析记录

07.png

解析完成后,一般证书就会给我颁发,一般不会超过5分钟;

08.png

下载证书,上传至服务器;

注:因为我这里之前已经安装好Nginx,关于在Linux服务器下如何安装Nginx,我就不在详细说明,只告诉大家如何配置就好了,如果你还不知道如何在Linux服务器上安装Nginx,你可以联系我,也是有教程滴……

解压后,能得到三个文件夹,分别对应不同的服务器 我们这里是使用Nginx进行配置,所以我们就关注Nginx这个文件夹就好了:

09.png

至此,我们已经拿到了证书;

接下来就是配置我们的Nginx服务器:

142     server {
143         listen       443;
144         ssl on;
145         server_name www.xiling.me;
146
147         ssl_certificate /usr/local/nginx1102/www.xiling.me/Nginx/1_www.xiling.me_bundle.crt;

149         ssl_certificate_key  /usr/local/nginx1102/www.xiling.me/Nginx/2_www.xiling.me.key;

151
152         root         /var/www/www.xiling.me;
153         index        index.php index.html index.htm;
154         location ~ \.php$ {
155             fastcgi_pass   127.0.0.1:9000;
156             fastcgi_index  index.php;
157             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
158             include        fastcgi_params;
159         }
160     }

再来张图:

10.png

重新加载 Nginx 配置文件
./sbin/nginx -s reload
此时打开你的浏览器访问:https://www.xiling.me
就可以看到,已经是https的安全连接了;

11.png

获取更多资料:

微信公众号:xilinglaoshi;
知乎专栏:西岭老湿;
今日头条:西岭老湿;
新浪微博:西岭老湿;

上一篇下一篇

猜你喜欢

热点阅读