panyanbin / blog-comments

博客文章评论内容
0 stars 0 forks source link

使用ACME申请证书(证书自动续期) | 老潘的博客 #25

Open panyanbin opened 2 years ago

panyanbin commented 2 years ago

https://www.panyanbin.com/article/c44653d8.html

现在的网站基本都是HTTPS协议,在浏览器中看着网站左上角有个小锁(网站连接安全),感觉都不一样。当然这都是小事,主要是想要提升一下资源访问性能,拥抱HTTP/2,但是浏览器就要求必须启用HTTPS才能正常接入HTTP/2。所以,把网站升级到HTTPS是很有必要。

yangguanghong commented 5 months ago

你好,在一台nginx上可否用acme申请多个不同域名(比如.a.com,.b.com)的ssl证书并且证书自动续期呢?

panyanbin commented 5 months ago

@yangguanghong 你好,在一台nginx上可否用acme申请多个不同域名(比如.a.com,.b.com)的ssl证书并且证书自动续期呢?

如果不是要申请不同的泛域名证书,那比较简单,你在申请证书命令时,添加多个即可,比如:

acme.sh --issue -d file.a.com -d img.b.com

如果是申请不同域名的泛域名证书,实现方案应该还是有的

方式1(该方式我没有实际操作过,不保证其可行性)

由于泛域名只支持dns验证,如果a.com、b.com域名的dns解析运营商都是同一个,和文中写的dns验证方式的证书申请命令

acme.sh --issue --dns dns_dp  -d *a.com -d *b.com

理论上应该是可以的,因为api和key都是相同。泛域名证书可以看一下这篇文章使用ACME申请泛域名证书

方式2:安装多个服务

可以在同一个机器安装多个acme.sh服务,因为acme.sh支持通过git克隆仓库然后去执行证书生成,可以参考文章,这样不同的acme申请不同域名的证书,相互独立不影响。

至于证书自动续期,其实也就是通过crontab定期自动执行对应的续期命令,通过git命令去安装的方式,可以自行参考自动更新脚本,调整一下执行命令即可

example:

56 * * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null