如何白piao一个免费的泛域名SSL证书

前提

为了给个人博客提速,全部静态资源放到云上的对象存储中,并且加了CDN,耗费了不少RMB。新申请的域名也备案通过了,但是SSL证书一般需要按年付款,看了下「鹅云」上最便宜的泛域名证书也裤头一紧:

毕竟至少是一年一付,金额也不算少(4块钱一天),感觉钱包压力有点大。于是通过多种搜索方式,找到了一种可行的白piao泛域名SSL证书的方案,并且应用于已经备案好的个人博客域名上。最终子域名可以通过HTTPS协议访问,效果如左下的图:

那么开始发车!

本文只适用于在鹅云上备案、解析的域名,已经把成功把HTTPS应用于鹅云的CDN,其他云厂商没有进行试验,有兴趣的伙伴可以自行按照下文的思路重演。

安装ACME

目前使用量最大的免费SSL证书就是Let’s Encrypt,自2018-03开始,Let’s Encrypt官方发布上线了免费的SSL泛域名证书,目前通过DNS方式获取比较快,国内可以通过鹅云的DNSPod域名API或者猫云域名API自动签发Let’s Encrypt泛域名证书。因为鹅云使用的就是DNSPod域名,并且鹅云和DNSPod的账号是打通的,可以使用wx直接扫码登录。下文需要对鹅云和DNSPod进行操作,为了简化证书申请过程,需要提前安装acme.sh。acme.sh实现了acme协议,可以从Let’s Encrypt生成免费的证书,自动创建cron任务, 每天零点自动检测所有的证书,如果发现证书快过期了,需要更新,则acme.sh会自动更新证书,安装过程不会污染已有的系统任何功能和文件,所有的修改都限制在安装目录中。

先进行依赖下载和更新。如果服务器是CentOS系统,使用下面的命令:

yum update && yum install curl -y && yum install cron -y && yum install socat -y

如果服务器是Debian/Ubuntu系统,则使用下面的命令:

apt-get update && apt-get install curl -y && apt-get install cron -y && apt-get install socat -y

接着使用下面的命令安装acme.sh

curl https://get.acme.sh | sh

如果控制台输出:

.....
Good, bash is found, so change the shebang to use....
OK
Install success!

说明acme.sh安装成功。

注册并配置DNSPod的秘钥

如果使用了鹅云的服务,直接wx扫码就可以登录DNSPod,否则需要注册绑定。登录之后,点击账号中心的「密钥管理」

然后命名并且创建一个密钥:

记得要保存好秘钥的IDToken,后面的步骤需要用到这两个配置。

申请证书

申请好DNSPod的秘钥,得到IDToken之后,在服务器的环境变量中添加这两个值,执行命令:

export DP_Id='你的ID'
export DP_Key='你的Token'

例如:

export DP_Id='123456'
export DP_Key='xxxyyyzzz'

接着使用acme.sh申请签发证书,执行命令:

~/.acme.sh/acme.sh --issue --dns dns_dp -d throwable.club -d *.throwable.club

这里throwable.club是笔者的博客域名,如果需要颁发你自己的域名的SSL证书,这里替换为你的域名即可。接着静静等待acme.sh的脚本程序执行完毕,如果过程中没有发生其他意外,那么证书申请成功后的控制台日志如下:

证书文件会自动存放在/root/.acme.sh/域名目录下,例如/root/.acme.sh/throwable.club目录。查看/root/.acme.sh/throwable.club目录的内容:

其中,fullchain.cer就是证书文件内容,而throwable.club.key就是证书的私钥」。然后在鹅云的CDNHTTPS配置中指定一下证书的配置即可:

提交后,CDN会重新部署,数分钟之后就会生效。最后注意一下:

  • 申请下来的泛域名SSL免费证书有效期只有3个月,但是acme.sh每晚零点会自动检测证书的有效期并且进行续期。

  • 目前鹅云上的CDN如果使用了Let’s Encrypt的证书,暂时不支持自动续期,需要手动续期,也就是每隔三个月要把/root/.acme.sh/域名目录下的fullchain.cer域名.key的内容更新到CDN配置中提交刷新一下。

小结

Just enjoy yourself.

参考资料:

  • https://github.com/acmesh-official/acme.sh

  • 互联网中的资料

(本文完 c-1-d e-a-20200814)

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 好的,我可以回答您的问题。 使用QT编写一个音乐播放器的步骤如下: 1. 创建一个QT项目并添加所需的库文件。 2. 创建一个主窗口,添加音乐文件列表,播放器控件和相关的按钮。 3. 使用QT的多媒体框架来实现音乐播放功能,可以使用QMediaPlayer类和QMediaPlaylist类。 4. 为播放器控件和按钮添加相应的信号和槽函数,以实现播放、暂停、停止、上一曲、下一曲等功能。 5. 添加其他功能,例如音量调节、进度条显示、歌曲信息显示等。 6. 进行调试和测试,确保音乐播放器能够正常工作。 这是一个简单的步骤,您可以根据需要对其进行修改和扩展。希望这能帮助到您。 ### 回答2: 使用QT编写一个音乐播放器是相对简单而且非常有趣的。 首先,我们需要在QT中创建一个新的项目。在QT Creator中选择“新建项目”,选择C++应用程序,并选择QT Widgets应用程序。然后,为你的项目命名并选择保存的路径。 接下来,我们需要设计用户界面。可以使用QT的设计器来绘制播放器的界面,例如,一个控制面板包括播放/暂停按钮、下一曲/上一曲按钮、进度条、音量调节器等。可以选择合适的QT控件来实现这些功能,并将它们放置在主窗口上。 之后,我们需要编写代码来实现播放器的功能。首先,导入必要的QT类和头文件,如QMediaPlayer、QMediaPlaylist等。然后,在主窗口类中添加这些对象作为成员变量。创建一个播放列表对象,并将其与播放器绑定。接下来,编写代码来控制播放、暂停、停止、下一曲、上一曲等功能。 在播放器界面中的按钮上,为每个按钮添加相应的槽函数,以实现响应。通过调用播放器对象和播放列表对象的相应方法来对音乐进行控制。 除了 基本的功能以外,可以根据需要来实现更高级的功能,例如设置播放循环模式、显示歌曲的封面图片、添加歌词显示、创建专辑播放列表等等。 最后,将项目构建并运行,就可以看到你自己编写的音乐播放器应用程序。 总结起来,使用QT编写一个音乐播放器需要首先设计界面,然后编写代码来控制播放器功能。通过将QT的控件与相关的播放器类进行连接,可以实现基本和高级的音乐播放器功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Throwable文摘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值