HA文档 目录

  1. 主页
  2. HA文档
  3. HA文档
  4. 通过INTERNET访问
  5. 数字证书更新

数字证书更新

这篇文章是系列文章的第4/4篇:

Lets_encrypt颁发的证书有效期是3个月,所以你需要及时更新您的证书。

【手动更新】
使用certbot,输入以下命令:
certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges http-01
这条命令会完整地完成证书文件的更新,更新过程与颁发过程类似。所以运行此命令,你必须保证访问http://yourdomain/能访问到命令运行机器的80端口(必须做好域名解析与端口映射)。

certbot还可以如下运行:
certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges tls-sni-01 --tls-sni-01-port 8123 --pre-hook "sudo systemctl stop home-assistant@homeassistant.service" --post-hook "sudo systemctl start home-assistant@homeassistant.service"
这条命令与上面命令的区别:

  1. 在证书更新之前停止HomeAssistant运行(为了空出8123监听端口)
  2. certbot将监听端口开放在8123上,而不是缺省的443端口
  3. Lets_encrypt通过https而不是http来访问文件
  4. 证书更新完成后,启动HomeAssistant

同样的,要成功运行此命令,必须保证访问https://yourdomain/能访问到命令运行机器的8123端口(必须做好域名解析与端口映射)。

通过Crypt-LE更新证书与颁发过程也类似,只是在命令参数中增加-renew。

【与HomeAssistant集成】
思路:可以写一个程序,去感知数字证书还有多少天过期;可以在HomeAssistant中加入这个感知数字证书还有多少天到期的传感器;可以在HomeAssistant中写一个自动化脚本,当数字证书快要到期的时候,就自动去更新。

  • 一个简单的探测数字证书还剩多少时间的python程序
  • 将上面程序加入到HomeAssistant作为一个传感器的配置文件:

  • 自动化配置:

【其它】
也可以将相应的脚本加入到操作系统定时自动执行的配置中去(比如Linux下的Crontab);另外,也可以设置在证书快要到期时发送Email或手机短消息报警……
当了解了基本原理之后,当掌握了一些基本方法之后,自由地组合各种积木元素,酣快淋漓!

遇到问题了?快来学习免费在线课程吧,博学老司机在线答疑,找到更多志同道合的HA玩家一起进步

此文不允许转载,如需转载请与BD@hachina.io联系。

这篇文章对您有用吗? 1 0