阿里云通配CDN HTTPS证书替换

简介

由于服务器放置在阿里云托管。在加上自己的网站访问流量较少。购买阿里云全站加速CDN据听书很爽。100G一年20块钱也足够用了。由于证书是Let's Encrypt 证书有效期只有三个月。自己有的时候忘记替换了也是一件麻烦事。看了阿里云的接口打算写个脚本搞定。

开通全站加速

这里选择的是按流量当然选错也没关系可以更改。

这里选择是按流量

找到域名管理添加域名,这里有几点提示,如果选择HTTPS的话尽量把端口可以直接执行443 由于我们买的100g流量是大陆的 所以这里尽量选择大陆,要不然其他地方的扣费可以让你摸不着头脑。

添加域名

配置中忘记截图了这里是配置完成后的截图,等待状态为正常运行进行配置。

配置截图

首先配置CNAME,进入dns解析 修改或者添加域名
解析配置
接下来就是重点配置证书。

自动化配置证书

代码比较简单,先丢出来代码吧。这里使用的是python 系统自带的python2
创建文件 vim /var/lib/auto-certbot/auto_cdn.py

#!/usr/bin/env python
#coding=utf-8

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkcdn.request.v20180510.SetDomainServerCertificateRequest import SetDomainServerCertificateRequest
ALY_KEY="LTAIgCFYjef3Bxwq"
ALY_TOKEN="axwNwpYMsv0JC5RXiHF7Xo9Sux1hcm"
D_NAME=".nehza.com"   # 域名名称
C_NANE="*.nehza.com"  # 证书名称
# 证书位置。
fullchain_str = open('/etc/letsencrypt/live/nehza.com/fullchain.pem').read()

client = AcsClient(ALY_KEY, ALY_TOKEN, 'cn-qingdao')

request = SetDomainServerCertificateRequest()
request.set_accept_format('json')

request.set_DomainName(D_NAME)
request.set_ServerCertificateStatus("on")
request.set_CertName(C_NANE)
request.set_CertType("upload")
request.set_ForceSet("1")
request.set_ServerCertificate(fullchain_str)

response = client.do_action_with_exception(request)
print(response)

在执行代码代码之前先安装依赖。
pip install aliyun-python-sdk-core aliyun-python-sdk-cdn

一切配置完成开始执行

    python auto_cdn.py

执行完成

查看阿里云
执行文成

到这里基本上是完成了剩下最后一步就是添加到定时任务里面执行完毕就OK了

crontab -e 
40 6 */1 * * python /var/lib/auto-certbot/auto_cdn.py

阿振

谦虚地说着“献丑”,却往往献出了最珍贵的东西。你永远不知道,这句口是心非,需要多么大的努力!

相关推荐

Linux

开源操作系统 Linux 是一种自由和开放源码的类UNIX 操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发 ...

git 统计分析工具

由于公司代码迁移到gitlab上面所以做下简单的代码统计还是有必要的在网上找到了一个比较简单的统计工具给大家分享 当然 ...