用acme.sh给域名申请免费ssl证书

免费申请永久证书

基于github上的acme.sh实现

域名配置

确保域名有对应的解析

在自己服务器上的配置文件上也要进行相应的配置,以我的nginx为例

1
vim /etc/nginx/sites-enabled/default

将红线对应的位置改为自己的域名

安装自动化脚本

acme.sh中有一个中文说明,如果有一定的基础,可直接阅读中文说明

安装脚本命令

1
2
cd ~ #回到用户家目录
curl https://get.acme.sh | sh -s email=my@example.com #下载脚本

签发证书

首先要确定自己的网站根目录,我使用的是nginx,我就以nginx为例

1
cat /etc/nginx/sites-enabled/default

使用以下命令,即可签发证书

1
~/.acme.sh/acme.sh --issue -d www.ming-ice-tea.top.com --webroot /home/hexo/www/hexo

www.ming-ice-tea.top.com替换为自己的域名
/home/hexo/www/hexo替换为自己网站的根目录

出现如图现实的内容即代表签发成功

安装证书

现在我将要将证书安装到nginx
使用以下命令

1
mkdir /etc/nginx/tls/ #创建一个存储证书和私钥的目录
1
2
3
4
~/.acme.sh/acme.sh --install-cert -d www.ming-ice-tea.top \
--key-file /etc/nginx/tls/key.pem \
--fullchain-file /etc/nginx/tls/cert.pem \
--reloadcmd "service nginx force-reload"

www.ming-ice-tea.top.com替换为自己的域名

配置nginx

现在要配置网站的配置文件,使证书生效

1
vim /etc/nginx/sites-enabled/default

将红框的三个语句添加进去

在执行下面的命令即可大功告成

1
service nginx force-reload

访问域名,验证是否安装成功

脚本自动签发证书

因为证书都是有时限的,需要定时签发证书,一般在安装的时候脚本会自动设置定时签发的时间,这里我们只需要验证一下即可

1
crontab -l

我这里脚本自动设置的使每天早上七点四十一分自动执行一次,可以根据自己的需要修改


用acme.sh给域名申请免费ssl证书
http://www.ming-ice-tea.top/2025/06/11/用acme-sh给域名申请免费ssl证书/
作者
Ming
发布于
2025年6月11日
许可协议