一度被免费的SSL证书弄得很烦,在网上搜索,要么要关注公众号,要么免费证书要还钱
浏览GitHub的时候,注意到了通过acm.sh申请免费SSL的办法,并且可以自动续签,真是太好了
Github地址:https://github.com/acmesh-official/acme.sh
注意事项
1.无论哪种方式进行申请,都是需要域名解析至服务器ip的
2.要记得把下方面命令中的域名、文件路径替换成自己的
3.方法一中,服务器安装有nginx会申请失败,可以先在服务器端停止nginx或使用http方式申请
3.方法2中,需要将指令后面的目录修改为你网站的绝对目录
4.copy证书文件时,也是需要更改命令中的域名的
2.要记得把下方面命令中的域名、文件路径替换成自己的
3.方法一中,服务器安装有nginx会申请失败,可以先在服务器端停止nginx或使用http方式申请
3.方法2中,需要将指令后面的目录修改为你网站的绝对目录
4.copy证书文件时,也是需要更改命令中的域名的
安装socat、curl
yum update -y #CentOS 命令
yum install -y curl #CentOS 命令
yum install -y socat #CentOS 命令
apt update -y #Debian/Ubuntu 命令
apt install -y curl #Debian/Ubuntu 命令
apt install -y socat #Debian/Ubuntu 命令
安装acm.sh
安装 acm.sh,很简单,一行命令的事情,下方的邮箱改不改都没有影响,放心执行~
curl https://get.acme.sh | sh -s email=my@example.com
申请SSL证书
方法1(无nginx环境)
~/.acme.sh/acme.sh --issue -d mydomain.com --standalone #修改域名后输入
输入完成后稍等一会,就会出现一长串的信息,如下图,即代表申请成功
方法2(http申请)
~/.acme.sh/acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/
修改完目录(绝对目录!!)后输入,再稍等一会会,不出意外也可以申请成功
申请成功
申请成功后,会输出证书文件所在的目录,一般为
/root/.acme.sh/申请域名_ecc/申请域名.key
/root/.acme.sh/申请域名_ecc/fullchain.cer
或者使用相应的指令copy到root目录中
~/.acme.sh/acme.sh --installcert -d mydomain.com --key-file /root/private.key --fullchain-file /root/cert.crt
输入完成后,刷新root目录,就可以看到证书文件了
最后更新 2024-11-16