RouterOS 7 开始可以用 /certificate/enable-ssl-certificate 命令完成http-01 challenge 并得到一张证书。
得到 90 天的证书,就想安排一个 auto renew 的程序。
这里有个问题:/certificate/enable-ssl-certificate 命令究竟包不包 auto renew?
我好像在哪里看到过用 /certificate/enable-ssl-certificate 命令可以得到一张证书,其自会 auto renew。但这一点后来就再也找不到出处了,我就认为我看花眼了,或者记错了。
网上有很多教如何在 Mikrotik 路由器上 anto renew 证书。大致涉及到四步骤:
删除旧证书
生成新证书
再重新添加到用到证书的各项服务里,如 HTTPS、SSTP
在 Schedule 里让上述代码每60-89天运行一次
最近我正研究着 Deepseek 为我写的 auto renew script(逻辑上更复杂一点,会根据证书剩余时间来决定下次运行 script 的日子),突然发现快过期的证书已经更新了,而我还什么都没做啊?!
于是我问 Deepseek:/certificate/enable-ssl-certificate 这个命令除了创建一张证书,会不会在到期前自动续订证书?
Deepseek 回答不会。
然后我说,我刚刚已经观察到它会自动续订了。
Deepseek 回答说它错了,我是对的。为了证明我是对的,它说 Router 里有隐藏的 script 和 schedule。
/system script print where name~”letsencrypt”
/system scheduler print where name~”cert”
但我又试了一下,没发现这两条。在 Mikrotik 问题上,Deepseek 已经在我面前暴露了很多错误。所以,没发现这两条也正常。
但我相信 /certificate/enable-ssl-certificate 这个命令包娶妻,还包生子。那我就没必要继续研究 auto renew 了,等过60多天再看看。
新证书直接用于 HTTPS,不需要删除旧证书再加载新证书。
新证书用在 SSTP,有点小麻烦,可能是 bug:证书更新后 SSTP 显示加载的是新证书,但 VPN 连接时的错误总是说对应的端口没打开。Disable 再 Enable SSTP server 并没有用,必须先把 SSTP server 里的证书换个别的,然后切换回新证书。
下次证书续订后,估计仍需要我来设置 SSTP server。
Leave a Reply