网站视差怎么做,女子医院网站设计怎么做,湖南正规seo优化,宁波网站建设是哪家便宜使用ACME部署HTTPS证书
背景
现在越来越多的服务都是基于web#xff0c;大多数默认使用HTTP协议。HTTP协议是一种没有加密的协议#xff0c;所有数据都通过明文传输#xff0c;即便是只在内网使用也存在一定的安全风险。尤其是对于登录等操作#xff0c;账号密码通过HTTP…
使用ACME部署HTTPS证书
背景
现在越来越多的服务都是基于web大多数默认使用HTTP协议。HTTP协议是一种没有加密的协议所有数据都通过明文传输即便是只在内网使用也存在一定的安全风险。尤其是对于登录等操作账号密码通过HTTP协议明文传输是非常不安全的。
而HTTPS协议使用非对称加密的方式对数据进行加密可以让数据传输变得更加安全可靠。而将HTTP协议切换成HTTPS协议只需要增加TSL证书即可。
本文使用ACME工具来生成TSL证书并将TSL证书部署应用于WEB服务从而实现支持HTTPS协议的WEB服务。
ACME
ACME是The Automatic Certificate Management Environment的缩写详情可以参阅其 GITHUB官方链接并且有 中文说明。
ACME主要有以下几个功能
向Let’s Encrypt申请证书支持包括阿里云在内的多个平台通过多种接口为域名增加TXT解析将证书部署于web服务自动更新证书
安装ACME
只需要一行命令就可以安装ACME
$ curl https://get.acme.sh | sh或者
$ wget -O - https://get.acme.sh | sh安装一共包括下面几个步骤
将acme.sh脚本复制到~/.acme.sh路径下在当前用户的SHELL环境配置文件中增加acme.sh~/.acme.sh/acme.sh添加一项crontab定时任务
获取域名服务商的远程管理密钥
以阿里云为例在用户的管理台中找到AccessKey安全起见可以增加一个子用户并给该子用户添加管理云解析DNS的权限。
记住AccessKeyID和AccessKeySecret并运行下面的命令添加相应环境变量
export Ali_KeyAccessKeyID
export Ali_SecretAccessKeySecret申请证书
在同一个terminal中继续输入下面的命令来生成证书记得把example.com改成自己的域名
~/.acme.sh/acme.sh --issue --dns dns_ali -d example.com -d *.example.com注意查看程序运行日志正常情况可以看到新生成证书的路径。
自动部署
自动把证书部署于WEB服务。
~/.acme.sh/acme.sh --installcert -d example.com \
--key-file /path/to/keyfile \
--fullchain-file /path/to/fullchain \
--reloadcmd /etc/init.d/uhttpd restart本文以OPENWET的管理页面为例
~/.acme.sh/acme.sh --installcert -d example.com \
--keypath /etc/uhttpd.key \
--fullchainpath /etc/uhttpd.crt \
--reloadcmd /etc/init.d/uhttpd restart自动更新
在安装ACME时就创建了一条crontab定时任务每天凌晨检查证书是否过期如果过期的话就会重新申请并自动部署。
前面使用过的申请证书和自动部署的两条命令在运行之后都会记录下来将来在证书自动更新时就会执行同样的的命令和参数。例如自动部署的命令就保存于~/.acme.sh/example.com目录下的example.com.conf文件里reloadcmd命令是以base64编码后的形式保存的。
所以只要确保上面申请证书和自动部署的两部操作都正确无误就可以了后续的更新都会自动进行不需要额外的操作。
参考文章
自动化部署证书 acme.sh 详细实践使用教程
使用acme.sh实现海量域名SSL证书自动申请与更新
任何程序错误以及技术疑问或需要解答的请添加