我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

熟悉墨涛的人都知道,墨涛一直使用acme.sh作为服务器端申请、部署、续订免费SSL证书的主要工具。 今天在帮站长申请SSL证书的时候发现了acme.sh v3.0。 默认的免费SSL证书已更改为: 这其实和莫涛一直用的Let's类似。 它于2016年推出,与Let's一样,证书有效期只有90天,支持泛域SSL证书。 与Let's不同的是,该API没有速率限制,不存在同一IP多次申请SSL证书被限制的问题。 它还提供了WEB界面来在后台管理SSL证书,比Let's功能更强大。

莫涛对这个证书早就有所耳闻,并在其官网()注册了一个账号。 有兴趣的朋友可以参考官网一篇关于VS Let's的对比文章(点击直接前往)。 相比之下,Let's最大的亮点在于它拥有Web端SSL证书查询和管理平台,可以更直观地管理所申请的SSL证书。 此外,还提供了较为完善的API接口,方便二次开发。 把事情简单化。 据说更适合有特殊高级用途的站点。 对于只需要HTTPS的普通站长来说,Let's其实已经完全足够了。 不过,莫涛建议你换Let's。

首先安装acme.sh

acme.sh实现了acme协议,可以帮助您快速申请SSL证书、自动更新证书等操作,大大简化了操作步骤。 在使用它之前,我们需要先安装它。 以下命令均在Linux系统上完成。

代码语言:

复制

curl https://get.acme.sh | sh
source ~/.bashrc

或者:

代码语言:

复制

wget -O - https://get.acme.sh | sh

第一次使用curl命令安装时,出现了如图所示的错误,提示我先安装socat。 因为不需要,所以没有安装。 Curl安装失败,可以尝试使用wget命令。

设置自动更新(可选):

代码语言:

复制

acme.sh --upgrade --auto-upgrade

阿克米地址:

安装acme后,使用“acme.sh -v”命令查看版本号。 代码如下:

代码语言:

复制

acme.sh -v

根据网上的说法,2.x版本的acme.sh默认使用Let's作为服务提供者。 3.x之后,默认使用Let's。 不过,由于这是我第一次,我再次更改了默认服务提供商。 代码如下:

代码语言:

复制

acme.sh --set-default-ca --server zerossl

系统返回的命令是服务提供者,然后我们设置DNS API进行域名解析。

配置 DNS API

SSL证书验证可以通过DNS验证、文件验证等方式进行。 为了方便多个域名申请和后续证书更新,建议使用DNS API方式,但使用前需要进行设置。 如果使用(国内版),命令为:

代码语言:

复制

export DP_Id="00250"
export DP_Key="imotao.com"

将ID替换成自己的,将Token值放入Key中,然后执行命令,如图:

acme.sh部署完成后,我们将申请泛域SSL证书。 您需要先关联账户。 执行以下命令会自动关联账户。 命令如下(修改为自己的邮箱地址,即使没有注册,运行命令后也会自动注册):

代码语言:

复制

acme.sh --register-account -m admin@imotao.com --server zerossl

命令执行后,如图所示,会反馈一些信息给你。 写下来就可以了,一般用不到。

账户注册和关联完成后,申请泛域名证书,执行以下命令:

代码语言:

复制

acme.sh --dns dns_dp --issue -d *.imotao.com -d imotao.com

意思是, *。 只需将其替换为您的域名即可

PS:一定要设置两个域名,一个是*.域名,一个是域名。 根据代码命令设置。 图片中没有设置。 访问时会提示证书错误。 记住! ! !

注意:acme.sh 支持多个 DNS 服务提供商,用于演示目的。 其他服务商请参考官方文档:查看设置。

生成过程大约需要几分钟才能完成。 验证过程中会自动解析一条TXT记录,验证完成后会自动删除。 因此,建议您选择DNS验证。 这里我就不截图了。 如果您有兴趣,可以查看域名延续记录。 审核通过后,申请成功。 如图,我们会反馈生成证书的路径:

域名解析nginx_nginx 泛解析 二级域名_域名解析包括泛域名解析

生成的证书放置在/root/.acme.sh/*中。 目录。 因为这是acme.sh脚本使用的内部目录,并且目录结构可能会改变,所以我们不能让Nginx配置文件直接读取这个目录。 对于下面的证书文件,需要使用--命令指定目标位置,然后将证书文件复制到相应位置。 我们首先到/home/目录下新建一个/ssl/文件夹,进入该文件夹并新建一个/域名文件夹/,例如/home/ssl//,然后执行以下命令:

代码语言:

复制

acme.sh --installcert -d *.imotao.com \
        --key-file /home/ssl/imotao.com/*.imotao.com.key \
        --fullchain-file /home/ssl/imotao.com/fullchain.cer \
        --reloadcmd "service nginx reload"

代替 ”*。” 替换为您刚刚申请的通用域名,然后将“*..key”替换为您刚刚生成的SSL证书密钥文件。 .cer不需要替换,这是默认生成的。

另外,不得不说,我直接执行命令的时候出现了错误(touch error),所以我是新建目录后执行的。 执行完成后,在目录中可以看到复制的文件。 正确的显示如下:

就是完成命令后会自动迁移,但是重启命令有错误(代码已经更新,不会出现图中的错误)。 如果图片无效,就去AMH面板重新加载nginx即可。 证书配置完成后,我们需要部署到网站,打开对应的站点,点击站点配置,在弹出的界面中选择SSL,然后选择其他证书,将刚才复制的文件内容复制到证书,密钥(KEY)对应.key文件,证书(PEM格式)对应.cer文件。

复制完成后,点击底部的保存按钮。 您可以随意启用http强制跳转到html。 建议启用它。 SSL证书申请完成后,打开配置文件,地址:/home///vhost/域名-https.conf(即你环境的vhost文件)如图:

不需要控制其他内容,因为它是由系统生成的。 我们只需要更改SSL证书的路径即可。 代码如下:

代码语言:

复制

 ssl_certificate_key /home/ssl/imotao.com/fullchain.cer;
 ssl_certificate  /home/ssl/imotao.com/*.imotao.com.key;

只需将证书的路径替换为我们刚刚复制的路径即可。 一切准备就绪后,我们打开网站,查看SSL证书,如图:

该证书目前有效期为 90 天,三个月后应自动续订。 至于结果,我们三个月后再见。 这篇文章我编码了半天,测试了一整天。

当然网上也有很多教程,但是都会忽略一个基本步骤,让我在测试的时候有点迷茫,所以我把完整的步骤整理出来重新发布。 如有疑问,请留言。

卸载证书

在今天的更新中,如何卸载现有证书:

首次使用

代码语言:

复制

acme.sh --list

使用命令查看服务器上当前存在的证书,如图。 目前只有一张证书:

然后我们使用:

代码语言:

复制

acme.sh  --revoke -d *.imotao.com
acme.sh  --remove -d *.imotao.com

--,销毁证书,

--,从 acme.sh 已知的证书列表中删除该证书。

证书卸载吊销完成后,如有需要我们可以重新申请。 最好回到证书目录看看证书是否被删除。 如果没有,请手动删除。

二维码
扫一扫在手机端查看

本文链接:https://by928.com/1102.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线