永久长期使用免费SSL证书的办法

文章转载自https://www.im286.net/thread-24329336-1.html

上很多,但咱老人都懒得学习,我就写一些筒单的操作吧,或许有人需要。
之前腾讯申请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 im286.net -d http://www.im286.net

回车后,需要输入(yes/no) 的全输入 yes , 有一个地方需要输入 EMAIL的,不写也行,建议给个,证书快过期时官网会提前发邮件提醒。
这个是最常用,最省事的验证方法,其它的,自已去查了,这里不说太多复杂的.

-d 参数,要申请的域名,最多100个,把你这个服务器上需要的都写上就行了,也支持泛解析 *.xxx.net  但不建议用,因为泛解析不好维护,需要用DNS 验证,反正可以写多个域名,哪个主机用啥,你就在那个主机上 -d 就行了。

-w 参数是要指定 WEB 的根目录,客户端会在这个目录下自动创建: .well-known 这个文件夹。
然后通过你添加的 -d 后面的域名,一个一个去访问来验证域名所有权。

运行后,官网会访问你 http://im286.net/.well-known/xxxx 这样的地址来验证,域名是不是你的. 你加几个-d 他都会去验证。
这时如果你的nginx 已经有网站了,建议添加以下代码到 server 虚拟主机配制中:

location /.well-known{
       root /var/www/html;
}
这样不会影响你的网站其它配制,反正 /var/www/html 目录是所有 nginx 安装后自带的,很多人都不用它。
生成完证书后上面的配制也不要删,以后续签还会用的。

生成后的证书会放在:

/etc/letsencrypt/live/im286.net/

这个文件夹里,默认用的是你第一个 -d 域名做文件夹。
NGINX 需要调用的证书文件是两个,一个是KEY 一个是CRT

ssl_certificate  /etc/letsencrypt/live/im286.net/fullchain.pem;
ssl_certificate_key  /etc/letsencrypt/live/im286.net/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证书过期

分享到:
赞(0)