lnmp 1.5或更高版本已经添加了对通配符证书的支持,生成通配符证书和Let's Encrypt平常ssL证书命令有些差异
通配符证书命令是
lnmp dnsssl 域名dns服务商简称
普通证书是
lnmp ssl add
一、域名DNS服务商API方式生成SSL证书
这里以spaceship DNS API为例:
登录Spaceship后点击导航Launchpad--API管理器--添加API密钥
选择“自定义访问”→ 仅启用:
DNS 记录 - 读取
DNS 记录 - 写入
禁用所有其他权限。然后点击 创建API密钥
复制并安全存储密钥(密钥不会再次显示)。
其他域名DNS服务商的API参数命令可以在文章后面表格里找,该项必须export,而且是严格区分大小写!否则将提示You don't specify dnspod api key and key id yet.
通过表格可以知道,spaceship的简称为spaceship,我们也通过spaceship网站获取到了API KEY和SECRTET KEY,下面需要在终端里将API操作所需的参数输出供程序使用,命令如下:
export SPACESHIP_API_KEY='8azEY0VMllj859ZqePH7'
export SPACESHIP_API_SECRET='JkZcYYVvSgwSAOXugXrBZ38nbhcanwiZvYP1MtTu0erI32Vmdxtcxn0tTGGL7SGW'
lnmp dnsssl spaceship
注意!spaceship为DNS服务商的简称,下面对照表中查找,别照抄
分别按提示输入域名、添加更多域名(多个域名空格隔开,如 *.2dan.cc *.test.2dan.cc)、网站目录、是否启用日志等选项,详细介绍可以看上图文字注释。
注意:如果要生成通配符/泛域名SSL证书,输入其他域名时不要输入www.2dan.cc的域名,否则将生成失败!!!
如果之前输出的API参数没问题的话,等几分钟就会生成完毕,并提示Generate SSL Certificate successfully.
二、使用域名DNS服务商API方式只生成SSL证书不创建网站配置文件。
lnmp onlyssl spaceship
注意!spaceship为DNS服务商的简称
这里的spaceship和上述带配置文件的参数是一样的,只不过在添加过程中不需要输入网站目录、是否开启日志等选项。
该模式下只创建SSL证书并不生成网站配置文件,方便用户在多个虚拟主机上使用同一个证书。自己可以另外 lnmp vhost add 或 lnmp ssl add 创建SSL站点配置文件
域名DNS服务商名称、简称对照表:
https://github.com/acmesh-official/acme.sh/tree/master/dnsapi
文件名dns_spaceship.sh中的spaceship即为简称
域名DNS服务商API参数和开通API方法对照表:
https://github.com/acmesh-official/acme.sh/wiki/dnsapi
https://github.com/acmesh-official/acme.sh/wiki/dnsapi2