随着个人博客、主页的站点数不断增加,越来越多的风险也逐渐显露出来。

许多博客至今仍旧在使用HTTP协议传输数据,甚至明文传输密码,用户信息和网站的安全存在很大的隐患。许多大厂已经开始发放免费SSL证书,但是由于许多站长的不重视,至今仍有大量网站并未实现全站HTTPS。

但是在今年的年初,Google Chrome团队将未使用HTTPS协议的网站标注的“不安全”标签变得醒目,使得很多站长选择了使用SSL证书,来提高网站的可信度。

简介

全站HTTPS不是一项技术,而是一种对于HTTPS证书的部署方式。有的网站会采用首页HTTPS、HTTP+HTTPS密码传输的方式来在一定程度上保障网站安全。但是相较于非全站HTTPS,全站HTTPS会更加安全,也省去了HTTP和HTTPS互跳转所带来的延迟。

实现

实现全站HTTPS,需要先从HTTPS开始。各大互联厂商都有提供免费的HTTPS证书,当然如果你想要付费购买加密更好的企业级证书,也不是不行。下面列出几个主流的(排名不分先后):阿里云SSL、腾讯云SSL、西部数码SSL、华为云SSL、freessl(https://freessl.cn)、百度SSL、CloudflareSSL(使用Cloudflare可以直接申请)...
申请证书时候尽量填写正确的个人信息,避免被CA机构(证书颁发机构)驳回。这里注意,每个邮箱在有效期内申请一家CA的证书是有次数限制的,以防止滥用,一旦申请多了只能靠吊销旧证书来腾出位置。

申请之后,我们就要在服务器处填写证书,如何填写建议自己搜索。记得要开启强制HTTPS,也就是重定向,访客访问任何HTTP协议的资源时会自动跳转到HTTPS。

至此,主要的工作就已经完成了。

高级操作

ECC证书

ECC证书对比原先的RSA加密证书有着体积更小巧,速度更快,抗攻击性能强等特点,且自Nginx1.11.x开始,支持ECC证书对老牌浏览器的兼容,让ECC证书有了更多的发挥空间。
现在主流CA证书商均可以签发ECC证书,如果购买的付费证书,可以通过重新签发并选择ECC加密即可获得ECC证书。

注意事项

CDN用户

切记要在CDN添加证书,否则可能会导致浏览器提示证书失效。使用TXYCDN的用户注意在CDN处强制重定向的时候,要选择HTTP→HTTPS而不是HTTPS→HTTP,否则可能导致重定向次数过多。

浏览器拦截混合访问请求

由于浏览器安全规则,在 HTTPS 请求下通过 JavaScript 请求 HTTP 请求或引入 HTTP 协议资源文件,会报“Mixed Content”错误,导致请求无法继续。
此时按下F12打开开发者工具,会有醒目红色提示:Mixed Content: The page at 'https://onyi.net/' was loaded over HTTPS, but requested an insecure script 'http://onyi.net/'. This request has been blocked; the content must be served over HTTPS.
这个时候,需要查看开发者模式中引用的资源,并且在文件中进行修改,引用HTTPS协议的资源文件,解除浏览器报错。

SSL证书类型

选购 SSL 证书的时候,要充分考虑业务上域名需要的证书类型,避免需要泛域名证书而你买了单域名证书,当然泛域名证书还是分为支持级别的,如购买 *.onyi.net 证书,那么该证书支持 a.onyi.net, a1.onyi.net, a2.onyi.net 以此类推域名,但是不支持 b.a.onyi.net(另一级), b1.a.onyi.net 类域名,如需支持,需另外再购买一张 *.a.onyi.net 证书。

总结

全站HTTPS是一个大趋势,将来可能在所有软件之中使用HTTP协议传输的内容都会被标注为不安全。安全无价,只有保障了访客与网站的传输处在安全的协议之下,才能确保隐私和数据的安全。

最后修改:2023 年 06 月 24 日
如果觉得我的文章对你有用,请随意赞赏