提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
使用ACME申请证书(证书自动续期)
前言
现在的网站基本都是HTTPS协议,在浏览器中看着网站左上角有个小锁(网站连接安全),感觉都不一样。当然这都是小事,主要是想要提升一下资源访问性能,拥抱HTTP/2,但是浏览器就要求必须启用HTTPS才能正常接入HTTP/2。所以,把网站升级到HTTPS是很有必要。
网站想要升级到HTTPS,首先得申请下发个安全证书,现在下发证书很简单,方式也很多,很多域名提供商都提供免费证书申请。但是,很多证书都是有时间限制(3个月或者1年),时间到期就需要手动重新,手续麻烦而且还会忘记续期,如果想一劳永逸可以用工具自动生成证书并且自动续租。续租工具和方式也很多,本文将讲解用ACME实现证书申请和证书自动续期。
一、ACME安装
下面展示一些 内联代码片
。
curl https://get.acme.sh | sh
安装程序会自动做以下操作:
自动把 acme.sh 安装到你的 home 的.acme.sh目录下,即~/.acme.sh/
自动创建一个 bash 的 alias, 方便你的使用: alias acme.sh=~/.acme.sh/acme.sh
自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书.
二、更改默认证书
acme.sh --set-default-ca --server letsencrypt
acme被ZeroSSL收购,其默认的证书方式为ZeroSSL,但此证书生成时会携带邮箱,因此更换为letsencrypt。
当然,也可以在生成证书时加一个–server参数来决定生成什么证书
--server letsencrypt
三、生成证书
使用acme.sh --issue命令生成证书,但生成证书的同时会进行域名的所有权的验证。 acme.sh 有两种方式验证:http 和 dns 验证。
注意:如果需要生成泛域名(*.a.com)的证书,不能使用HTTP认证域名,需要改用DNS认证的方式
- http验证方式
或配置网站根目录,命令参数为(–webroot /home/wwwroot/mydomain.com/)
或关联服务器的nginx服务,命令参数为(–nginx)
或关联服务器的apache服务,命令参数为(–apache)
或自建虚拟webserver(服务器没有占用80端口),命令参数为(–standalone)
来验证你的域名所有权来完成验证。
本服务器已搭建nginx服务,因此关联即可