参考:百度,阳光早已褪色,molunerfinn
使用cloudflare给网站上个小锁,https服务
关于http和https的区别,可以看我的另一篇文章:HTTP和HTTPS的区别
前言
由于购买了域名, .github.io
的证书不能用在我的 fedemo.top上面了.
这使得我的网址前面没有了那把绿色的小锁,这使得我动起了https改造的念头.
刚好,在域名解析这边.百度云没有通知我就直接劫持了我的DNS,虽然认证完很快就解封了,不过还是给我留下了坏印象.
在寻找其他DNS服务商的时候我发现了cloudflare
一个提供DNS,并且提供免费HTTPS服务的CDN提供商.
本着分享精神,在这里写一个简单的教程,记录下我给我的博客加上HTTPS的过程
一、注册
当然,第一步是注册了.
由于cloudflare,是国外的网站,并且没有中文支持,英语差的可能有点苦手.
跟着提示一步步走就好了,过程略过……
二、添加DNS解析
注册成功后,第二步就是添加DNS解析了,选择 DNS
主要是添加两条A记录指向github pages,ip地址分别是192.30.252.153
和192.30.252.153
,然后再把 www
指向非 www
的地址(当然,如果需要的话也可以把非 www.
的地址指向 www.
的地址)
接着需要将我们的DNS服务商的地址改成Cloudflare要求的两个DNS服务器地址:
一般会过24到48小时生效,不够不影响我们的使用
三、开启HTTPS
第三步就需要我们使用cloudflare的HTTPS服务了,选择 Crypto
开启SSL服务:
这里的实现原理其实是用户到 cloudflare 服务器的连接为https,而 cloudflare 到 GithubPage 服务器的连接为http,就是在CDN服务器那里加上反向代理。 到这里,我们就可以使用cloudflare的证书来进行https连接了.
四、重定向HTTP访问到HTTPS
这个时候我们访问https://fedemo.top自然走的是HTTPS。但是如果有人访问了http://fedemo.top,那要如何跳转到HTTPS的页面呢?
CloudFare另一个很棒的功能 Page Rules 就派上用场了。
我们可以指定我们的域名强制使用HTTPS,并且当访问是HTTP的时候重定向到HTTPS。这样就能保证用户访问我们的页面都是通过HTTPS的了。
点击 Create 添加两条规则
五、加入HSTS解析
HSTS(HTTP Strict Transport Security)国际互联网工程组织IETF正在推行一种新的Web安全协议
上面说到,我们有可能访问自己的网站是走HTTP->304重定向->HTTPS。这个是浏览器跟服务器进行了一次通信之后才发生的跳转。那有没有可能做到,访问的是HTTP,但是浏览器识别之后自动转成HTTPS访问,而不经过重定向那一层操作呢?有的。通过HSTS的Preload List。
可以参考这篇文章对HSTS进行更深入的了解。
还是CloudFare,它家自有的HSTS功能,开启之后就能很好的满足我们的需要。还是在 Crypto 选项下,开启HSTS
建议都使用默认的选项。
然后可以去HSTS Preload List的网站把我们的域名进行检查并收录(不能是子域名,必须是一级域名),如果没通过会给出修改建议,按照建议修改就行。如果通过了,就会放入审核列表。之后可以时不时回来看看自己的网站被收录了没有。
我是由于也是刚提交的,现在正在等候中。由于审核据说都是人工审核,可能会比较慢,网上的说法普遍是几周内。所以耐心等待收录。一旦被收录就会应用到主流浏览器上,这样你的网站就是更加安全的网站啦。
成果
最终:
我的网站加上了一个代表安全的绿色的小锁,一本满足