首页 > 运维 > Linux > acme自动签发nginx ssl证书
2019
10-13

acme自动签发nginx ssl证书

1、安装 免费自动签名工具

1.1 创建证书存放目录(根据自己目录自行创建)

1.2 在文件系统中定义 webroot 目录。对于当前这个例子,我将使用/var/www/le_root. 鉴于我安装acme.sh到 root 用户,让我们也更改权限,以便 nginx 可以访问该目录。

1.3 现在进入 nginx 配置本身。一个简单的location规则就可以完成这项工作,但不是在所有虚拟主机中复制该规则,而是让我们在其中创建一个单独的文件
/usr/local/nginx/conf/includes/letsencrypt-webroot 并按需包含它:

参考:https://www.rmedgar.com/blog/using-acme-sh-with-nginx/

1.4 现在在nginx配置文件中配置一下

注意:如果签发机器和业务机器不在同一台机器,则可以做如下处理。(此操作只是让证书顺利签发,因为域名解析不在同一机器或无法访问是无法签发的)

1.5 重新加载nginx:

1.6 开始颁发证书

一旦配置了 nginx,我们就可以开始颁发证书(如下签发方式是文件验证方式):

参数解析:

1.7 nginx使用(自行解决)

1.8 执行安装

使用 acme.sh 安装证书将创建一个 cron 作业,该作业将自动更新证书并将相关文件复制到您在安装命令中提供的位置。 此外,您还可以指定重新加载服务器配置的命令。

假设我们将文件存储在 /etc/nginx/certs/mydomain.com 目录中( mydomain.com 目录必须事先创建),那么命令将是:

nginx使用证书文件(与供应商证书使用方式完全一致)

2、DNS模式签发证书

2.1 首先要设置你所使用的服务商dns (本人这里使用dnspod,此种方式不需要配置nginx配置,也不需要域名解析到某个ip)

(1)设置dnspod APPID 和APPKEY

2.1.1、可以修改dns_dp.sh里的DP_Id和DP_Key

2.1.2、也可以用变量形式赋值DP_Id和DP_Key

2.2 执行申请

2.3 执行安装

最后编辑:
作者:shooter
这个作者貌似有点懒,什么都没有留下。