网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

背景

不知道小伙伴有没有遇到过这样的问题:

1、用宝塔建站的,SSL证书也是用宝塔申请的Let’s Encrypt免费证书(有效期3个月)虽然说宝塔后台有自动续签的功能,但是你会发现,经常续签失败,影响网站正常运行;

2、配置的

certbot

自动更新证书,偶尔也会遇到小问题。

Nginx Proxy Manager目前咕咕暂时没有遇到续期问题 ?

当然,如果你的网站是http的,你完全不用考虑这个问题。

但是,对于有强迫症的人来说,看到浏览器网址边上显示“不安全”,非常的难受,而且,其实对于一个“现代”的网站来说,SSL是标配了。

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

有没有一种证书,可以有效期长一些,不用像 Let’s Encrypt 的证书的一样,三个月就得更新一次?(虽然也有自动化脚本代劳,但还是保不齐哪天因为出错导致证书过期了,网站打不开。)

有的。

全球领先的 CDN 服务商 Cloudflare 则提供了 15 年有效期的证书,堪称业界良心。

前提是,你需要使用Cloudflare的CDN服务(开启小黄云图标)

注意开启之后,如果你是国内的服务器,速度会变慢,如果你是国外的服务器,尤其是线路比较差的服务器,速度会有所改善。另外CDN还有保护源站IP,防止IP被墙的功效。

关于CDN的更多介绍,可以看这篇文章:CDN加速-隐藏真实IP-复活IP

具体操作

1. 添加域名到Cloudflare

要使用Cloudflare(以下简称CF)的证书,首先你得把你的域名托管到CF上来进行DNS解析(注意不是转移域名,域名哪里买的还是在哪里续费,只是不用在域名注册商的后台进行域名解析了)。

注册一个CF的账号:

https://dash.cloudflare.com/sign-up

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

登陆之后,添加域名

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

输入你的域名,点击添加站点,

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

选择免费计划

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

继续,

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

2. 修改 Name Server

这边以Namesilo为例子:

Namesilo自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些丑古老 = =)

【域名购买】Namesilo优惠码和域名解析教程(附带服务器购买推荐和注意事项)

如果想要长期使用,还是建议买com后缀的域名,更加正规一些,可以输入

laodade

来获得1美元的优惠(不知道现在还有没有)

在购买域名的服务商的管理后台,修改域名的 Name Server,修改成 Cloudflare 的域名服务器。请填写 Dashboard 中给出的地址,不一定和笔者的完全一样,地址格式是

*.ns.cloudflare.com

比如上面就是:

marjory.ns.cloudflare.com

mitchell.ns.cloudflare.com

具体位置在这里:

https://www.namesilo.com/account_domains.php

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

点击

change

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

点击具体的域名:

输入CF上面提供的ns即可。

比如上面就是:

marjory.ns.cloudflare.com

mitchell.ns.cloudflare.com

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

之后记得点击保存。

同时回到CF,点击完成。

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

大概过半小时左右,你注册CF的邮箱就能收到类似的邮件了,表明现在可以用CF来做域名解析啦。

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

3. 添加 DNS 解析

点亮橙色小云朵,表示经过 Cloudflare 的代理,客户的请求由 CF 转发到我们的源服务器,即客户不知道也不能直连我们的服务器 IP。

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

注:一般服务器都应该配置,不能直接用 IP 访问,以免被 Script Boy 全网段扫描。

4. 开启 Full SSL/TLS(完全严格模式)

在顶部的菜单条(新版在侧边栏),找到锁标志(SSL/TLS),修改通信链路加密方式为:Full(strict)。

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

这里有四个 SSL 加密选项,然而本页面的文字描述都比较简单,这几种模式之间具体有什么区别呢?

笔者先读了一遍官方的说明文档,对各自适用的场景有了大致的了解;并参阅了森见鹿博客的学习笔记,加深了理解;最后结合自己上手的实践过程,分别展开说明如下表。

表 1: Cloudflare SSL 加密参数说明表

参数 含义 优点 缺点
OFF 完全不加密,即不使用 Https 协议 无加密,明文裸奔容易遭受到中间人攻击Chrome 等浏览器会显示该网站不安全影响搜索引擎收录
Flexible 你的网站用户和 Cloudflare 之间有加密连接,但是从 Cloudflare 到你的服务器没有加密。即半程加密 就算你的网站没有 SSL 证书,用户也能实现 SSL 加密访问。 不安全,在 Cloudflare 到源站中仍存在中间人攻击的风险你的服务器开启了 Http 转 Https,会导致 Redirect 死循环,浏览器报错

Too Many Redirects
Full 全程加密,从用户到 CDN 服务器再到你的网站,全程都是 SSL 加密的,反之亦同。只要你的服务器有 SSL 证书,就可以实现 SSL 加密访问。 不限制证书。 openssh 自签名证书还是正规机构签发的 SSL 都可用 在 Cloudflare 到源站中仍存在中间人攻击的风险(包括通过证书劫持和伪造等方式,与严格模式不同,Cloudflare 不会对源站的证书进行审核)
Full (strict) 全程加密,它与 Full SSL 的区别在于你的服务器必须是安装了已受信任的 SSL 证书(即购买的或正规机构签发的 SSL 证书),否则无法开启 SSL 加密访问。 安全 新增了对证书的认证,源站如果配置了自签证书、非可信证书或过期证书,那么 Cloudflare 会回复客户端访问失败并返回 526 响应码

注:这四种模式仅在启用了 Cloudflare 的 CDN 后——即点亮了橙色小云朵——才有效。如果只是把 Cloudflare 用作 DNS 解析,那么上述的加密模式都不会起作用!

若是有选择困难症,森见鹿同学整理了常用需求对应的模式,请参照下面的流程图:

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

5. 创建 CF 证书

切换到

Origin Server

选项卡,创建

Origin Server Cetificate

源服务器证书(由 Cloudflare 免费签名)。

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

6. 填写证书的生成参数

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

  • 密钥类型:2048 位的 RSA 私钥
  • 作用域名:适用于哪些域名(子域名),支持通配符匹配。默认作用范围是
    your.site

    ,

    *.your.site

    。如果要添加域名的其它级别,例如,通配符未覆盖的级别(如

    one.two.your.site

    )可在文本框中追加。

  • 有效年限:15 年

7 获取生成的证书和密钥

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

  • 密钥格式:根据你的使用环境来选择公私匙对的格式。
    • 大部分基于 OpenSSL Web 服务(如 Apache and NGINX)都是使用 PEM 文本文件(Base64 encoded ASCII),同时也兼容二进制格式的 DER 文件;
    • Windows 系统或 Apache Tomcat 服务则是 PKCS#7 格式。

分别拷贝源证书和私钥内容,保存好。

注意:私钥内容不会存在 Cloudflare。一旦创建完成后,公共证书可以重复下载,但私钥内容无法从 CF 后台再次拷贝,请自行妥善保管。

之后如果是用宝塔面板,直接拷贝到对应的位置即可。

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

如果是自己装的Nginx,为了安全考虑,应限制只有 Web 服务能够读取。例如,假如你是使用的 Nginx,它是以

www-data

用户运行的,因此,文件的权限设置成

root

才能写入,而

www-data

用户只能读取,权限细节如下:

# 设置用户和用户组
chown -R root:www-data /path/to/your/cert/dir
# 设置文件夹和文件权限
chmod 750 /path/to/your/cert/dir
chmod 640 /path/to/your/cert/dir/*

别忘了重新载入(或者重启)Nginx,一般重新载入即可。

# 重载 Nginx
$ sudo systemctl reload nginx


# 重启 Nginx
$ sudo systemctl restart nginx

最后

重新刷新一下网页,发现已经有https了!

网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!网站SSL证书自动续期又又又失败了?试试CloudFlare的免费证书,15年有效期!

两个字,舒服!

十五年之内不用再更换证书啦!

希望你的网站也可以坚挺到15年换证书的那一天 = =

参考

https://muwaii.com/posts/try-cloudflare-free-15-year-ssl-certificate (咕咕基本都是抄的,感谢!)

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享