侧边栏壁纸
博主头像
伯虔

追求源于热爱,极致源于梦想!

  • 累计撰写 98 篇文章
  • 累计创建 30 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

网站全站开启 HTTPS(一、又拍云一键部署)

伯虔
2017-02-01 / 0 评论 / 0 点赞 / 749 阅读 / 3,259 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-03-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

介绍

HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 近两年,Google、Apple、Facebook 等这样的互联网巨头,不谋而合地开始大力推行 HTTPS, 国外的大型互联网公司很多也都已经启用了全站 HTTPS,这也是未来互联网发展的趋势。为鼓励全球网站的 HTTPS 实现,Google 甚至调整了搜索引擎算法,让采用 HTTPS 的网站在搜索中排名更靠前。想必在不久的将来,全网 HTTPS 势在必行。

越来越多的网站选择 HTTPS 加密访问作为用户信息与网站安全的保障,所以趁着过年这几天有时间,准备把手下所有网站全部加上小绿锁,这几天也一直在研究,终于搞定,,一通全通,其实步骤也不难,只需要几步就可以搞定,下面把详细教程写出来,以免大家走弯路。通过查阅资料等,我大概掌握到3种比较便捷、自动的方法,这里先介绍第一种:

服务器环境:

  • 上海腾讯云65元/月
  • Debina 7.8 64位
  • lnmp(lnmp.org

全站 HTTPS 趋势

苹果宣布 2017 年 App Store 中的所用应用都必须使用 HTTPS 加密连接;
百度、Google 等搜索引擎优先收录 HTTPS 页面并提升排名;
英美强制要求所有政府网站 2016 年实现全站 HTTPS 加密;
百度、阿里巴巴等互联网巨头均启用全站 HTTPS 加密;
新一代 HTTP/2 协议的支持需以 HTTPS 为基础;

专有名词介绍

先介绍一些专有名词,以便大家更好地阅读文章,已经了解的可以忽略这一步:

HTTPS

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的 HTTP 通道,即 HTTP 的安全版。HTTPS 的安全基础是 SSL/TLS,它提供了身份验证与加密通讯的方法,现在被广泛用于万维网上安全敏感的通讯,比如交易、支付等。

SSL(Secure Socket Layer,安全套接字层)

SSL 由为 Netscape 公司所研发,用以保障在 Internet 上数据传输之安全,利用数据加密 (Encryption) 技术,可确保数据在网络上传输过程中不会被截取。SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

TLS(Transport Layer Security,传输层安全)

传输层加密协议,其前身是 SSL 协议, 1999 年经过 IETF(The Internet Engineering Task Force 国际互联网工程任务组) 讨论和规范后,改名为 TLS。发展至今已经有 TLS 1.0、TLS 1.1、TLS 1.2 三个版本。TLS 1.3 改动会比较大,还在草案阶段,目前使用最广泛的是 TLS 1.1、TLS 1.2。

SSL 证书

SSL 证书就是遵守 SSL 协议的服务器数字证书,通过验证域名、服务器身份后,由受信任的数字证书授权机构 CA 颁发,具有服务器身份验证和数据传输加密等功能。

CA

数字证书授权机构 (CA,Certificate Authority) 是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

域名型 SSL 证书(DV SSL)

即证书颁布机构只对域名的所有者(一般是域名管理员邮箱,比如admin@hotmail.com)进行在线检查,通常是发送验证邮件给域名管理员或以该域名结尾的邮箱。

企业型 SSL 证书(OV SSL)

是要购买者提交组织机构资料和单位授权信等在官方注册的凭证,证书颁发机构在签发 SSL 证书前不仅仅要检验域名所有权,还必须对这些资料的真实合法性进行多方查验,只有通过验证的才能颁发 SSL 证书。

增强型 SSL 证书(EV SSL)

与其他 SSL 证书一样,都是基于 SSL/TLS 安全协议,但是验证流程更加具体详细,验证步骤更多,这样一来证书所绑定的网站就更加的可靠、可信。它跟普通 SSL 证书的区别也是明显的,安全浏览器的地址栏变绿,如果是不受信的 SSL 证书则拒绝显示,如果是钓鱼网站,地址栏则会变成红色,以警示用户。

网站申请证书

前一个月左右看群里消息,发现又拍云也可以免费部署证书,但是一直没有时间,所以过年尝试下。又拍云的免费证书,官方宣称:一键部署,免费、自动化证书签发。到底是不是,我来试试就知道了,下面开始。

进入又拍云官网:又拍云,注册账号什么的不用我说了,大家都会。

  • 这个是测试网站,现在访问还是 http 形式的,非常不安全。
    80_upyunhttps01.png

  • 注册好账号后,进入又拍云的控制台,如图依次点击:
    80_upyunhttps02.png

  • 点击继续:
    80_upyunhttps03.png

  • 填写需要申请的域名,域名需要已经备案的:
    80_upyunhttps04.png

  • 这时候会提醒你没有绑定服务,点击前往绑定服务,这个窗口无需关闭:
    80_upyunhttps05.png

  • 接下来是创建服务:
    80_upyunhttps06.png

  • 服务名称只要自己方便记忆就好,这里回源协议选择 HTTP,服务器端的配置文件不需要更改,更加方便:
    80_upyunhttps07.png

  • 根据提示填写:
    80_upyunhttps08.png

  • 服务创建成功:
    80_upyunhttps09.png

  • 根据提示到域名服务商添加 CNAME 记录:
    80_upyunhttps10.png

  • 由于我的是托管在腾讯云,之前用的是 CloudXNS ,不错,广大博主都从 Dnspod 迁移过来,但是我为了方便管理,就全部托管在腾讯云:
    80_upyunhttps11.png

  • 这时候再回到上一个页面,点击下一步:
    80_upyunhttps12.png

  • 点击提交:
    80_upyunhttps13.png

  • 申请提交已经成功,等待审核:
    80_upyunhttps14.png

  • 会显示对应状态,我的还在审核中,一般几分钟就好:
    80_upyunhttps15.png

  • 证书已经申请成功:
    80_upyunhttps16.png

  • 接下来还需要简单配置2步,第一步:
    80_upyunhttps17.png

  • 第二步:
    80_upyunhttps18.png

又拍云配置成功,但是服务器端也要做相应的修改,我的修改路径是在:/usr/local/nginx/conf/vhost ,下面是网站的 Nginx 配置的图片,下面会给出代码格式,方便大家对照,大家根据自己情况修改对应域名:

server
    {
        listen 443 ssl http2;
        #listen [::]:80;
        server_name ssl.huangbowei.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/ssl.huangbowei.com;


        include none.conf;
        #error_page   404   /404.html;
        include enable-php.conf;


        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }


        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }


        location ~ /\.
        {
            deny all;
        }


        access_log off;
    }

80_upyunhttps19.png

这时候大家刷新下浏览器,就会看到网站已经有一把令人心情愉悦的小绿锁了,如果没有,清除浏览器缓存或者重启 Nginx 服务器,点击进入测试网站:

cd lnmp1.3-full
lnmp nginx restart

80_upyunhttps20.png

网站检测,ssllabs:https://www.ssllabs.com/ssltest/

总结

虽然看起来步骤简单,但是大家动手才知道。一开始我也不太会,几天后,阅读一些文章和文档,才知道具体步骤,然后结合又拍云文档才配置成功,一次部署,自动续期,Let’s Encrypt 证书有效期是90天,然后就必须重新签发,好在又拍云会自动完成续签,虽然Let’s Encrypt 官方、Oneinstack、lnmp(2017/6/1 即将推出的正式版1.4版本,测试版已经有) 都有相应的Let’s Encrypt自动续期脚本,各有各的好处,大家根据自身情况选择。

0

评论区