Let's Encrypt支持通配符证书了,也就是说你只需要为你的网站申请*.example.com这样一个证书,所有的子域名都可以支持,下面介绍下申请方法:

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书。

  • 安装 acme.sh

  • 生成证书

安装 acme.sh

首先需要获取acme.sh

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

复制

普通用户和 root 用户都可以安装使用。

会安装在 ~/.acme.sh/ 目录下,以后生成的证书也会在这里面,按照域名为文件夹安置。

理论上会自动添加一个 acme.sh 别名,但有时候并不会生成,需要手动执行以下命令:

$ source ~/.bashrc

复制

生成证书

acme.sh支持自动配置DNS,这样需要在域名控制后台获取AppKey和AppSecret.常见的阿里,Dnspod等都支持,这里有更详细的介绍:传送门

下面我们已CloudXNS为例,CloudXNS API需要到 https://www.cloudxns.net/AccountManage/apimanage.html 这里获取API KEYSECRET KEY

服务商名称

服务商简称

所需API参数

获取API参数地址

cloudxns

cx

export CX_Key="123456"
export CX_Secret="abcdef"

点击访问

dnspod (cn大陆版)

dp

export DP_Id="123456"
export DP_Key="abcdef"

点击访问

aliyun

ali

export Ali_Key="123456"
export Ali_Secret="abcdef"

点击访问

cloudflare

cf

export CF_Key="123456"
export CF_Email="abc@example.com"

点击访问

linode

linode

export LINODE_API_KEY="123456"

点击访问

he

he

export HE_Username="username"
export HE_Password="password"

he的用户名密码

digitalocean

dgon

export DO_API_KEY="123456"

点击访问

namesilo

namesilo

export Namesilo_Key="123456"

点击访问

aws

aws

export AWS_ACCESS_KEY_ID=123456
export AWS_SECRET_ACCESS_KEY=abcdef

点击访问

namecom

namecom

export Namecom_Username="username"
export Namecom_Token="123456"

点击访问

freedns

freedns

export FREEDNS_User="username"
export FREEDNS_Password="password"

freedns的用户名密码

godaddy

gd

export GD_Key="123456"
export GD_Secret="abcdef"

点击访问

yandex

yandex

export PDD_Token="abcdef"

点击访问

通过表格可以知道,cloudxns的简称为cx,我们也通过CloudXNS网站获取到了API KEY和SECRTET KEY,下面需要在终端里将API操作所需的参数输出供程序使用

# 替换成从cloudxns后台获取的密钥export CX_Key="CX_Key"export CX_Secret="CX_Secret"# 换成自己的域名
acme.sh --issue --dns dns_cx -d fkomm.cn -d *.fkomm.cn

复制

这里是通过休眠120秒等待DNS生效的方式,所以至少需要等待两分钟,如果看到了验证成功的输出,则说明已经申请成功了。这种方式成功之后,会记录下App_Key跟App_Secret,并且生成一个定时任务,每天凌晨0:00自动检测过期域名并且自动续期。


标签: none

添加新评论