coffee 发表于 2022-3-29 15:37:23

发个技术帖吧: 如何永久长期使用免费SSL证书.

本帖最后由 coffee 于 2022-3-29 15:39 编辑

网上很多,但咱老人都懒得学习,我就写一些筒单的操作吧,或许有人需要。
之前腾讯申请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 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证书过期。





ioio 发表于 2022-3-29 15:40:33

ts99 发表于 2022-3-29 17:11:03

看起来还是蛮不错的

eltonto 发表于 2022-3-29 17:13:59

感谢分享!
有你更精彩哦!

114la123 发表于 2022-3-29 17:47:59

免费的大把啊

一天 发表于 2022-3-29 19:09:14

支持楼主干正事,落伍现在真水了。

largecat 发表于 2022-3-29 19:27:26

收藏,谢谢。。

coffee 发表于 2022-3-29 19:41:57

114la123 发表于 2022-3-29 17:47
免费的大把啊

恩恩,我也说了很多,
我只是提供一个,自动续签以后不用管理的方法。
很多到期后都需要自已手动更换。
Github上还有一个shell脚本的和这个差不 acme.sh 那个也是用的这个网站的API,只是他们开发了一个shell脚本方式来更新,。
也有很多网站提供这种证书,大多数都是从这网站上拿的API接口,自已写的客户端,再做个网站让你申请。
但 letsencrypt.org 才是根本,也是全球最大的免费证书网站了。

kalaco 发表于 2022-3-30 09:40:22

本帖最后由 kalaco 于 2022-3-30 09:53 编辑

已测试,有效

kalaco 发表于 2022-3-30 09:44:24

证书有效期只有3个月
页: [1] 2
查看完整版本: 发个技术帖吧: 如何永久长期使用免费SSL证书.