Let‘s Encrypt SSL 免费自签域名泛域名证书申请和配置(泛域名证书 原理)

Let‘s Encrypt SSL 免费自签域名泛域名证书申请和配置安装 acme.sh 安装过程需要服务器已安装 socat 模块,它是一个多功能的网络小工具。
dnf install socat -y通过下面命令安装 a

安装acme.sh

安装过程需要在您的服务器上安装socat 模块(一个多功能网络小工具)。

dnf安装socat -y

使用以下命令安装acme.sh:当您的证书即将过期且尚未续订时,通过电子邮件接收通知。

Carl https://get.acme.sh sh -s email=我的电子邮件

运行命令后,它将在几秒钟内安装。如果长时间没有响应,请按Ctrl+C重新运行该命令。 acme.sh 安装在~/.acme.sh 目录中,并自动创建一个cron 作业,每天自动检测0:00 处的所有证书。当您的证书接近到期日期时,它将自动续订。

生成证书

acme.sh 实现了acme 协议支持的所有验证协议。通常有三种验证方法:HTTP 方法、手动DNS 方法和DNS API 方法。我们建议使用DNS API 方法。

HTTP方式

HTTP 方法要求您在网站的根目录中放置一个文件来验证您的域名的所有权并完成验证。然后就可以生成证书了。

acme.sh –issue -d example.com(域名)–webroot /path/to/example.com/

acme.sh自动生成验证文件并将其放置在您网站的根目录下,自动完成验证,最后自动删除验证文件。

当使用Nginx服务器时,acme.sh还可以智能地自动完成Nginx配置的验证。您不需要指定网站的根目录。

acme.sh –issue -d example.com –nginx

需要注意的是,HTTP认证方式不支持生成通用域名证书。

手动DNS方法

该方法需要您手动为您的域名添加TXT解析记录,以验证域名所有权。这种方法的优点是不需要服务器或公共IP。只需要DNS 解析记录即可完成验证。

执行以下命令进行手动DNS 验证:

acme.sh –issue -d example.com -d \’*.example.com\’ –dns \\

–是的,我知道,DNS手动模式就足够了,拜托

添加TXT 记录以进行DNS 解析。域名前缀为_acme-challenge,记录值为终端输出的TXT值。然后再次运行它。

acme.sh –renew -d example.com -d \’*.example.com\’ \\

–是的,我知道,DNS手动模式就够了,拜托

注意:这种方法的缺点是如果没有同时配置DNS API,证书不会自动续订,每次都需要手动重新解析以验证域名的所有权。

Webroot方法(推荐方法)

创建验证目录

mkdir -p /usr/local/nginx/html/acme/example.com/.wellknown

echo \’example.com\’ /usr/local/nginx/html/acme/example.com/.well-known/test.html

使用Webroot方式生成证书,需要设置对应的服务端口80并指定根目录和.well-known。具体代码如下。

根目录也可以分配给项目(例如Web项目)。

根索引.html;

地点/.众所周知/{

根html/acme/example.com/;

}

执行命令重新加载nginx配置文件。

nginx-t

nginx -s 重新加载

测试如果访问连接出现问题,可以echo \”example.com\”/usr/local/nginx/html/acme/example 访问外网,查看返回结果。com/.well-known/test.html 的内容到这里就成功了。

卷曲http://example.com/.well-known/test.html

执行命令申请证书生成并等待打印结果。如果一切正常,系统将询问您在哪里保存证书。

/root/.acme.sh/acme.sh –issue -d example.com –webroot /usr/local/nginx/html/acme/example.com –log

简介在nginx上安装证书,根据实际情况执行以下命令。

/root/.acme.sh/acme.sh –install-cert -d example.com \\

–密钥文件/etc/nginx/conf/cert/lincense/example.com.key \\

–fullchain-文件/etc/nginx/conf/cert/lincense/example.com_fullchain.cer \\

–reloadcmd \’nginx -s 重新加载\’

通用域名证书申请表

DNS API 方法

自动DNS 验证方法需要使用域名解析服务提供商的DNS API。腾讯云(DNSPos)和阿里云都提供DNS API功能。

如果您使用的是腾讯云DNSPod,请在右上角头像下拉列表中选择API Key,然后点击DNSPos Token 创建密钥

如果您使用阿里云,请在右上角头像下拉菜单中选择AccessKey管理来创建密钥。

创建密钥后,使用以下命令将其ID 和令牌或密钥设置为环境变量:

**#腾讯云**

导出DP_Id=\’您的ID\’

导出DP_Key=\’您的令牌\’

**#阿里云**

导出Ali_Key=\’YourAccessKeyId\’

导入Ali_Secret=\’YourAccessKeySecret\’

然后使用以下命令生成证书:

腾讯云

acme.sh –issue –dns dns_dp -d example.com -d *.example.com

阿里云

acme.sh –issue –dns dns_ali -d example.com -d *.example.com

注:这里的第一个域名是顶级域名,第二个域名是通用域名。该方法会自动为您的域名添加TXT解析,并在验证成功后删除该解析记录。这对用户无害。如果,使用一段时间后,发现证书没有自动申请,并且手动申请提示中没有添加TXT解析值,那么最有可能的问题就是需要将访问密钥重新加载到环境变量中。是。

如果证书生成成功,默认会保存在~/.acme.sh/example.com/目录下。不要直接使用~/.acme.sh/目录中的文件。此处的文件供内部使用,因此您可能需要将证书复制并解压到所需位置才能安装。使用与上面相同的Webroot 方法创建证书。

#Let\’s Encrypt SSL 免费自签名域名泛域证书以上有关应用和配置源网络的相关内容仅供您参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92054.html

(0)
CSDN的头像CSDN
上一篇 2024年6月24日
下一篇 2024年6月24日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注