使用acme创建ssl证书并自动续期

        一直以来都想有个自己的网站,服务器,域名,这些都是必须买的,但配置好服务器后网站的开头为http如果被别人访问就会显示“不安全”字样,接下来本教程会手把手教你如何免费申请ssl证书,并且自动续期。

我的服务器是在阿里云买的,域名是在西部数码购买的,接下来是申请过程

安装acme.sh

安装命令很简单,登录服务器,然后执行以下命令

curl https://get.acme.sh | sh

这会自动创建目录,位置在 ~/.acme.sh/

安装完成后执行以下命令使其生效

source ~/.bashrc
# 或者
source ~/.acme.sh/acme.sh.env

可以查看是否安装成功

# acme.sh --version

https://github.com/acmesh-official/acme.sh
v3.1.2

设置账号

编辑~/.acme.sh/account.conf文件

WEST_key这里需要注意下,没有地方说明是md5值,问了西部数码的客服也没问出来,还是我猜出来的,有点坑

注意 value 加上引号

WEST_Username='你的账号名'
WEST_key='你的api连接密码的md5'

生成证书

生成证书命令如下

如果报错,请检查~/.acme.sh/dnsapi/ 目录下是否有dns_west_cn.sh 文件,并检查权限,如果没有执行权限请添加执行权限 chmod +x ~/.acme.sh/dnsapi/dns_west_cn.sh

acme.sh --issue --dns dns_west_cn -d limming.site -d '*.limming.site'

在.acme.sh 目录下就会生成一个limming.site_ecc文件夹,这里面包含了要使用的证书

使用acme.sh –install-cert命令将证书拷贝到具体使用路径

acme.sh --install-cert -d limming.site --key-file /etc/nginx/ssl/limming.site.key --fullchain-file /etc/nginx/ssl/limming.site.fullchain.cer --reloadcmd "nginx -s reload"

这样再打开网站,就不会有”不安全”的字样了

总结:整个过程还是挺曲折的,问了chatgpt,也问了deepseek,解答都不尽如人意,但经过一段时间的摸索,终于弄成了,还是挺自豪的

如果有幸能帮到你,那是我的荣幸

如果遇到问题,也可以联系我,我们共同进步

发表评论