网上很多,但咱老人都懒得学习,我就写一些筒单的操作吧,或许有人需要。
之前腾讯申请1年的免费证书,总是忘了到一年又得重新来,太麻烦了,现在商业证书也都是一年一签了,还不如用这种免费的,自动续签.布置好了,就不用管了.
系统: Debian/Ubuntu/Centos
使用的是 letsencrypt.org 的免费证书,官方客户端。
安装客户端: certbot
最好都在 root用户权限下。
Debian/ubuntu : apt install certbot
CentOS : yum install certbot
下面就说两个主要命令,申请证书和续签证书。
第一步: 申请证书:
命令行输入:
certbot certonly --webroot -w /var/www/html -d hxm.cn -d www.hxm.cn
回车后,需要输入(yes/no) 的全输入 yes , 有一个地方需要输入 EMAIL的,不写也行,建议给个,证书快过期时官网会提前发邮件提醒。
这个是最常用,最省事的验证方法,其它的,自已去查了,这里不说太多复杂的.
-d 参数,要申请的域名,最多100个,把你这个服务器上需要的都写上就行了,也支持泛解析 *.xxx.net 但不建议用,因为泛解析不好维护,需要用DNS 验证,反正可以写多个域名,哪个主机用啥,你就在那个主机上 -d 就行了。
-w 参数是要指定 WEB 的根目录,客户端会在这个目录下自动创建: .well-known 这个文件夹。
然后通过你添加的 -d 后面的域名,一个一个去访问来验证域名所有权。
运行后,官网会访问你 http://hxm.cn/.well-known/xxxx 这样的地址来验证,域名是不是你的. 你加几个-d 他都会去验证。
这时如果你的nginx 已经有网站了,建议添加以下代码到 server 虚拟主机配制中:
location /.well-known{
root /var/www/html;
}
这样不会影响你的网站其它配制,反正 /var/www/html 目录是所有 nginx 安装后自带的,很多人都不用它。
生成完证书后上面的配制也不要删,以后续签还会用的。
生成后的证书会放在:
/etc/letsencrypt/live/hxm.cn/
这个文件夹里,默认用的是你第一个 -d 域名做文件夹。
NGINX 需要调用的证书文件是两个,一个是KEY 一个是CRT
ssl_certificate /etc/letsencrypt/live/hxm.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hxm.cn/privkey.pem;
第二步: 配制自动续签.
免费证书有效是90天,但因为有了自动续签,就不用在意那90天了。
就一个命令:
certbot renew
也会剑测证书还有多少时间过期,一般提前30内检测才会更新,其它都是跳过。
建议加在计划任务中去:
30 4 */14 * * certbot renew --deploy-hook "service nginx reload"
上面的意思是,每融14天的的早上4点30分检测一下,
如果成功更新了,就运行 service nginx reload 命令让NGINX重新载入配制。
注意: 申请证书失败大多数情况都是 web 配制不对的问题,导至完法完成验证域名所有权。其它的我还没碰到过。上面是我用certbot 最省事的方案了.
配制好上面的以扣再也不用去维护SSL证书问题了,之前总是忘记续证书导至网站SSL证书过期。