一、必要性
现在越来越多的网站都开始用安全链接HTTPS了。
HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),初衷是为了保护数据安全。 近两年,Google、Baidu、Facebook 等这样的互联网巨头,不谋而合地开始大力推行 HTTPS, 很多国内外的大型互联网公司也都已经启用了全站 HTTPS。
为鼓励全球网站的 HTTPS 实现,Google 甚至调整了搜索引擎算法,让采用 HTTPS 的网站在搜索中排名更靠前。并且从 2017 年开始,Chrome 浏览器已把采用 HTTP 协议的网站标记为不安全网站,苹果 App Store 中的所有应用也都必须使用 HTTPS 加密连接;国内微信小程序也要求必须使用 HTTPS 协议;新一代的 HTTP/2 协议的支持需以 HTTPS 为基础。因此想必在不久的将来,全网 HTTPS 势在必行。
但是,如果网站想使用 HTTPS 服务,则必须为域名从数字证书授权机构(CA,Certificate Authority)申请相关的 SSL 证书。
名词解释
HTTPS(全称:HyperText 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) 是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
CSR(Cerificate Signing Request,证书请求文件)
CSR 是制作 SSL 证书的必要文件,通常由 CA 机构自动生成,用户也可自己创建,在生成 CSR 文件 的同时也会生成私钥(由用户自己保管),用户只需把 CSR 文件提交给 CA,CA 使用其根证书私钥对 CSR 文件签名即生成了用户的证书。
RSA
RSA 公钥加密算法是 1977 年由 Ron Rivest、Adi Shamir、Leonard Adleman 一起提出的,它是第一个能同时用于加密和数字签名的算法,从提出到现今经历了各种攻击的考验,能够抵抗到目前为止已知的绝大多数密码攻击,已被 ISO 推荐为公钥数据加密标准
ECC
ECC(Elliptic Curves Cryptography,椭圆曲线加密算法)也是一种公钥加密算法,与主流的 RSA 算法相比,ECC 算法可以使用较短的密钥达到相同的安全程度,其安全性更高、处理速度更快。其数学基础是利用椭圆曲线上的有理点构成 Abel 加法群上椭圆离散对数的计算困难性。
域名型 SSL 证书(DV SSL)
即证书颁布机构只对域名的所有者进行在线检查,通常是验证域名下某个指定文件的内容,或者验证与域名相关的某条 TXT 记录;比如访问 [http|https]://www.domain.com/.../test.txt,文件内容: 2016082xxxxx39w7b20nelfa;或添加一条 TXT 记录:www.domain.com –> TXT –> 20170xxxxxqmkiby43hpvy8
企业型 SSL 证书(OV SSL)
是要购买者提交组织机构资料和单位授权信等在官方注册的凭证,证书颁发机构在签发 SSL 证书前不仅仅要检验域名所有权,还必须对这些资料的真实合法性进行多方查验,只有通过验证的才能颁发 SSL 证书。
增强型 SSL 证书(EV SSL)
与其他 SSL 证书一样,都是基于 SSL/TLS 安全协议,但是验证流程更加具体详细,验证步骤更多,这样一来证书所绑定的网站就更加的可靠、可信。它跟普通 SSL 证书的区别也是明显的,安全浏览器的地址栏变绿,如果是不受信的 SSL 证书则拒绝显示,如果是钓鱼网站,地址栏则会变成红色,以警示用户。
二、哪里获得
1.免费
2.购买
网上销售ssl证书的网站很多,价钱从几百到几千都有,免费的ssl证书也有,比如:阿里云,又拍云,七牛都可以申请免费DV SSL证书。
下面列出几个网址你可以了解更多。
https://common-buy.aliyun.com/?spm=5176.doc28542.2.4.qu1bdj&commodityCode=cas#/buy
https://developer.qiniu.com/ssl?source=baidu
https://portal.qiniu.com/certificate/apply
https://cloud.tencent.com/product/ssl?fromSource=gwzcw.232017.232017.232017
http://docs.upyun.com/cdn/ssl/
https://www.trustasia.com/?ref=yulian
下面贴出七牛的:(域名是在西部数码,在七牛申请了一个免费证书)
三、如何安装
证书服务
证书服务 (Alibaba Cloud Certificates Service),在云上签发Symantec、GlobalSign、GeoTrust证书,实现网站HTTPS化,使网站可信,防劫持、防篡改、防监听。并对云上证书进行统一生命周期管理,简化证书部署,一键分发到云上产品。
SSL数字证书Nginx配置部署指导(视频)
https://help.aliyun.com/video_detail/54216.html?spm=5176.7854214.2.5.ljA96Z
下面分nginx,apache环境举例。
oneinstack布署的环境中的站点为例,
修改nginx下的相应配置文件。
或
修改apache下的相应配置文件。
使用阿里云免费SSL证书实现全站HTTPS化(文章)
https://segmentfault.com/a/1190000009220479
本文转自phpervip 51CTO博客,原文链接:http://blog.51cto.com/phpervip/2050264,如需转载请自行联系原作者