美文网首页Liunx西岭老湿IT编程
大家都升级了HTTPS,你竟然还不会用?来,我教你!

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

作者: 西岭老湿 | 来源:发表于2017-03-15 22:41 被阅读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;
    知乎专栏:西岭老湿;
    今日头条:西岭老湿;
    新浪微博:西岭老湿;

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/hjirnttx.html