前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Acme工具配置Let's Encrypt通配符HTTPS证书

使用Acme工具配置Let's Encrypt通配符HTTPS证书

作者头像
老高的技术博客
发布2022-12-28 12:47:14
9960
发布2022-12-28 12:47:14
举报
文章被收录于专栏:老高的技术博客

老高的域名使用很久了,同时也产生了大量的二级域名,Let's Encrypt虽然每三个月续签的时候不需要加域名参数,但是如果要多加一个或者删除又需要敲一大堆命令,今年(2018)Let's Encrypt强势支持了通配符证书,支持验证的方式是dns,所以需要自己去DNS解析处申请一个API,虽然多了DNS的操作,但是带来的好处真是太多,下面赶紧跟着老高学一下如果使用Acme工具配置Let's Encrypt通配符HTTPS证书吧!

wildcard
wildcard

项目链接

Neilpang/acme.sh

项目中文说明

API的使用方法

安装acme.sh

代码语言:javascript
复制
curl  https://get.acme.sh | sh

因为工具需要crond进行证书的自动更新,如果提示没有安装计划任务工具cron,centos下可以执行下面的命令后重新安装即可!

代码语言:javascript
复制
yum install -y cronie
systemctl enable crond
systemctl start crond

申请证书

老高申请的是通配符证书,可以支持所有二级域名,所以需要DNS认证,此处老高使用的Cloudflare的API KEY,程序就会自动帮我更新证书,当然考虑到安全你也可以手动操作,把命令最后的dns_cf移除即可。

代码语言:javascript
复制
export CF_Key="你的 cloudflare KEY!!"
export CF_Email="endoffight@gmail.com"

acme.sh --issue -d cao6.app -d *.cao6.app --dns dns_cf

程序会在成功设置txt解析后等120s检测生效情况

安装证书

首先创建一个空文件夹,假设为/etc/nginx/acme.sh/cao6.app

将生成的证书拷贝到指定位置,用的是下面的命令

代码语言:javascript
复制
acme.sh --install-cert -d cao6.app \
--cert-file      /etc/nginx/acme.sh/cao6.app/cert.pem  \
--key-file       /etc/nginx/acme.sh/cao6.app/key.pem  \
--fullchain-file /etc/nginx/acme.sh/cao6.app/fullchain.pem
--reloadcmd  "sesystemctl restart nginx" 加上这句话如果你是用nginx

然后在vhost.conf中添加下面的配置,几乎就要大功告成!!

代码语言:javascript
复制
server{
    listen 443 ssl http2;
    server_name cao6.app;

    location / {
        add_header Content-Type "text/plain;charset=utf-8";
        return 200 "Your IP Address:$remote_addr";
    }

    ssl on;
    ssl_certificate /etc/nginx/acme.sh/cao6.app/fullchain.pem;
    ssl_certificate_key /etc/nginx/acme.sh/cao6.app/key.pem;
    ssl_trusted_certificate /etc/nginx/acme.sh/cao6.app/cert.pem;
}

赶紧测试一下配置!

代码语言:javascript
复制
nginx -t

# 返回
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Good Job! 看来一切都没有问题,acme.sh已经把copy和重启服务器的步骤自动化了,我们现在执行一次下面的命令,以后就不管操心证书的更新了。

代码语言:javascript
复制
acme.sh --install-cert -d cao6.app \
--cert-file      /etc/nginx/acme.sh/cao6.app/cert.pem  \
--key-file       /etc/nginx/acme.sh/cao6.app/key.pem  \
--fullchain-file /etc/nginx/acme.sh/cao6.app/fullchain.pem \
--reloadcmd   "systemctl force-reload nginx.service"
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目链接
  • 安装acme.sh
  • 申请证书
  • 安装证书
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档