GithubHelp home page GithubHelp logo

pailjin / qiniu-ssl-cert-update Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 761 KB

php script for update qiniu(七牛) https ssl cert (let's encrypt) of CDN domain

License: MIT License

PHP 95.85% Shell 2.31% JavaScript 1.84%
qiniu ssl cert cerbot php https let-s-encrypt

qiniu-ssl-cert-update's Introduction

qiniu-ssl-cert-update

php script for update qiniu https ssl cert

说明

使用qiniu php sdk 和let's encrypt配合,完成七牛的ssl证书的更新。

随着https的普及,为了支持云存储的ssl cert更新和免费ssl证书的使用。

因为七牛支持使用自由证书,那么配合let's encrypt的免费证书,则可以免费更新七牛的https

但是let's encrypt的证书有效期为3个月,需要定期更新。

所以写了个脚本“半自动”的形式更新七牛证书。

全自动的模式,请参看下面“dns支持”。

支持特性:

生成证书并上传/更新七牛

dns支持:

let's encrypt生成证书需要域名指向“当前正在操作的”服务器。可以使用dnspod等域名服务器的api去自动切换域名指向自有服务器和七牛云服务器。

这样才可以使用crontab定期执行,证书生成会失败

最新版本,已经增加百度bcd域名服务的api去切换域名指向,达到自动修改证书的动作。

详细参看“meiriyouke.updateonly-changeDNS.sh” 这个脚本可以加到crontab中。

备注:

1/ 需要baidu云的ak和sk,以及更新下您想修改的域名.详见bce-node/bcdclient2n.meiriyouke.cn.js 和bce-node/bcdclient2qiniu.js中中文备注的需要替换的字段内容。

2/ 由于使用了node,请安装node环境。我自己测试的是node v12.x

使用说明

关键两个文件

1/ qiniusslupdate.sh : 执行脚本。包含了证书和调用todoDomainUpdateSslcertScript.php

2/ todoDomainUpdateSslcertScript.php:上传到七牛并更新

执行方法:

修改qiniusslupdate.sh的七牛AK和SK

./qiniusslupdate.sh {domain}

比如:./qiniusslupdate.sh abcssl.abc.com

执行前,先把域名指向操作服务器。

执行完成后,再把域名指向七牛

需要自行修改的地方:

1/上面两个关键文件中,证书的位置,是按照let's encrypt默认生成路径。如果用其他方式得到证书,则自己修改路径。

2/ 如果是crebot renew,则改下qiniusslupdate.sh文件中生成证书的命令,去掉crebot renew前的#符号

3/ 如果要定期执行,则自行加入crontab

环境:

php

php-curl

nginx

cerbot (let's encrypt)

qiniu-ssl-cert-update's People

Contributors

pail-jin avatar pailjin avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.