
Let’s Encrypt 签发 IP 证书
Let’s Encrypt 在 2025 年正式支持了 IP 证书的签发。We’ve Issued Our First IP Address Certificate
安装 acme.sh
(半)官方的工具 certbot 目前似乎并不打算支持 IP 证书的签发,会告诉你一段老黄历:

因此需要使用 acme.sh,这款工具目前已经支持了从 Let’s Encrypt 签发 IP 证书。
安装命令为:
curl https://get.acme.sh | sh -s email=my@example.com如果使用 wget 则是:
wget -O - https://get.acme.sh | sh -s email=my@example.com其中 my@example.com 需要替换成你自己的邮箱地址,主要是向 CA 注册使用。注意 acme.sh 不需要也不推荐使用 root 账户运行,因此运行上面的命令时务必不要添加 sudo。
安装完成后会自动将 acme.sh 添加为一个 alias,因此无需制定完整路径运行,不过重新登录或运行 .bashrc 前是不生效的。
配置 acme.sh 以使用 Let’s Encrypt
因为 acme.sh 收了 ZeroSSL 的钱,因此现在默认使用的是 ZeroSSL。如果要使用 Let’s Encrypt 需要进行配置:
acme.sh --set-default-ca --server letsencrypt签发证书
Let’s Encrypt 目前仅支持为 IP 地址签发短周期证书,也就是说有效期默认是 6 天,不能签发那种 90 天的证书。尝试签发 90 天证书会看到类似“CA 没有接受你的请求”一类的错误。
acme.sh --issue -d <IP 地址> -w <网站根目录> --certificate-profile shortlived特别要注意不要遗漏 --certificate-profile shortlived 这个参数,指的就是刚刚提到的短周期证书。
签发之后 acme.sh 会自动添加一个 cronjob,因此无需手动配置自动续签。
签发好的证书会放在一个类似 ~/.acme.sh/1.1.45.14_ecc/ 的文件夹里,当然具体什么路径请以实际为准。
接下来就是去你的网页服务器里安装证书了。
测试
用 https://<你的 IP 地址> 的方式来访问网站,可以正常打开。查看证书信息:

注意到有效期确实是 6 天半。

