• 欢迎光临flyzy小站!分享一些学习路上遇到的坑坑洼洼~

adad

使用Cloudflare免费https证书

Cloudflare除了提供全球CDN加速,对于免费用户,它同样提供免费的https证书,并且这个https证书的有效期长达15年,于是给小站就使用了Cloudflare的免费https证书。

 

为什么选择Cloudflare

之前一直用的Let’s Encrypt免费https证书。但是它3个月需要更新一次,虽然可以写脚本更新,但是它的规则似乎会变化,对应的启动命令也不一样。并且,我用它的ssl证书,使用长城宽带无法与我的站建立安全连接,ssl握手会耗费非常久的时间,而如果科学上网后再连接就没有问题,我不知道是不是长城宽带做了什么限制。

选择Cloudflare一是因为已经使用了它提供的CDN加速服务,另一个就是看中它证书的时长,有效期长达15年。

cloudflare-https-expires-on

 

开启Cloudflare免费https

注册以及绑定域名就不再赘述了,详细可以参考我之前的一篇文章:开启Cloudflare免费CDN加速

选择https加密模式

登录后,选择Crypto模块:

cloudflare-https-levels

可以看到Cloudflare的免费https证书提供了4个层级,Off就是关闭https,Flexible就是http与https都可以访问,Full就是如果证书出了问题,会通过http请求继续访问,不会报错,而Full(strict)在https证书出问题的时候,因为全部时https连接,会直接报错。很明显,如果要全站做https,这里选择Full(strict)模式。

获取https证书

选择Create Certificate

cloudflare-create-https-certificates

之后就可以看到安装证书的界面:

cloudflare-https-install-certificate

将第三项过期时间调成最长的15年,点击Next。之后你就可以得到一个origin certificate和一个private key

 

服务器配置https证书

这里以Nginx为例配置Cloudflare免费https证书。

修改Nginx的配置文件,监听443端口,并且指向自己的证书地址:

    listen 80 default_server;
    listen [::]:80 default_server;
    listen 443 http2 ssl;
    ssl_certificate /etc/flyzy2005.com.pem; # 对应origin certificate
    ssl_certificate_key /etc/flyzy2005.com.key; # 对应private key

之后重启Nginx,就可以看到全站都以及使用上了Cloudflare提供的https加密服务了~

点赞