CentOS 7配置Let’s Encrypt支持免费泛域名证书

Let’s Encrypt从2018年开始支持泛域名证书,有效期3个月,目前仅支持acme方式申请,暂不支持certbot。

1、安装acme.sh

curl https://get.acme.sh | sh

 

2、请求证书(泛域名以*.s-b.me为例)

cd /.acme.sh
./acme.sh --issue -d *.s-b.me  -d s-b.me --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

输出:

[Sat Mar 24 13:10:07 UTC 2018] Registering account
[Sat Mar 24 13:10:08 UTC 2018] Registered
[Sat Mar 24 13:10:08 UTC 2018] ACCOUNT_THUMBPRINT='hS_gwvXaqMtxJh2Bz0asmWK3r7iMYIknkOWDqO1a76U'
[Sat Mar 24 13:10:08 UTC 2018] Creating domain key
[Sat Mar 24 13:10:09 UTC 2018] The domain key is here: /root/.acme.sh/*.s-b.me/*.s-b.me.key
[Sat Mar 24 13:10:09 UTC 2018] Multi domain='DNS:*.s-b.me,DNS:s-b.me'
[Sat Mar 24 13:10:09 UTC 2018] Getting domain auth token for each domain
[Sat Mar 24 13:10:10 UTC 2018] Getting webroot for domain='*.s-b.me'
[Sat Mar 24 13:10:10 UTC 2018] Getting webroot for domain='s-b.me'
[Sat Mar 24 13:10:10 UTC 2018] Add the following TXT record:
[Sat Mar 24 13:10:10 UTC 2018] Domain: '_acme-challenge.s-b.me'
[Sat Mar 24 13:10:10 UTC 2018] TXT value: '6sf1Iuh7r****************bHPs8QriJf8ibpszRk'
[Sat Mar 24 13:10:10 UTC 2018] Please be aware that you prepend _acme-challenge. before your domain
[Sat Mar 24 13:10:10 UTC 2018] so the resulting subdomain will be: _acme-challenge.s-b.me
[Sat Mar 24 13:10:10 UTC 2018] Add the following TXT record:
[Sat Mar 24 13:10:10 UTC 2018] Domain: '_acme-challenge.s-b.me'
[Sat Mar 24 13:10:10 UTC 2018] TXT value: 'iA68V9A14****************mlrsZx24raM-S0gmpI'
[Sat Mar 24 13:10:10 UTC 2018] Please be aware that you prepend _acme-challenge. before your domain
[Sat Mar 24 13:10:10 UTC 2018] so the resulting subdomain will be: _acme-challenge.s-b.me
[Sat Mar 24 13:10:10 UTC 2018] Please add the TXT records to the domains, and re-run with --renew.
[Sat Mar 24 13:10:10 UTC 2018] Please add '--debug' or '--log' to check more details.
[Sat Mar 24 13:10:10 UTC 2018] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh

 

3、参考输出,添加域名txt记录,以验证域名所有权

_acme-challenge.s-b.me    txt    iA68V9A14****************mlrsZx24raM-S0gmpI
_acme-challenge.s-b.me    txt    6sf1Iuh7r****************bHPs8QriJf8ibpszRk

 

4、申请泛解析证书

./acme.sh --renew -d *.s-b.me  -d s-b.me --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

如果顺利,会在当前目录下生成以泛域名为名字的证书目录

/root/.acme.sh
*.s-b.me/
├── ca.cer
├── fullchain.cer
├── *.s-b.me.cer
├── *.s-b.me.conf
├── *.s-b.me.csr
├── *.s-b.me.csr.conf
└── *.s-b.me.key

 

5、配置nginx或其他web server以支持SSL访问

.cer            是证书文件
.key            是私钥文件
fullchain.cer 是证书链证书

 

6、证书续期

通过crontab或者其他定时任务系统执行

./acme.sh --renew -d *.s-b.me  -d s-b.me --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

 

 

【参考】

https://github.com/Neilpang/acme.sh

https://keelii.github.io/2016/06/12/free-https-cert-lets-encrypt-apply-install/

转载于:https://www.cnblogs.com/imzye/p/8641524.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/414453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JPA EnableJpaAuditing 审计功能

关于自动填充或更新实体中的 CreateDate、CreatedBy 等在之前有一篇 jeecg 默认为空的字段值是如何被填充的? 有提到通过拦截器的方式实现,但是今天带大家了解一下如果使用 JPA 的审计功能是如何简单实现该操作的。 JPA Audit 说明 在 Spring JPA 中,支…

前端学习(2789):改进导航栏并跳转

第一步:动态数据 第二步 页面渲染

Android 图片识别、图像识别

实现效果 基于百度智能云实现的图片识别 实现步骤 1、到百度智能云注册图像识别应用 https://console.bce.baidu.com/ai/?_1574674029784&fromai1#/ai/imagerecognition/overview/index 2、配置ID与key 3、实现demo:https://download.csdn.net/download/meix…

Android 高德地图在清除所有Marker,清除某一个MarKer

清除所有:aMap.clear(true); 清除单个: marker.remove();

C++语言第一课的学习

1 // HelloApp.cpp: 定义控制台应用程序的入口点。2 //3 4 #include "stdafx.h"5 #include <iostream>6 #include "head.h"7 using namespace std;8 9 10 int main() 11 { 12 int num0; 13 cout << "输入1个数字&#xff1a;&qu…

WebSocket 实现前后端通信的笔记

之前在做站内信时&#xff0c;用到了 WebSocket &#xff0c;整理了一些笔记分享如下。 本文基于 SpringBoot 2.1.5&#xff0c;本文不涉及环境搭建。 引入依赖 在 Spring 中要使用 WebSocket 功能&#xff0c;需要在pom中引入依赖&#xff1a; <dependency><groupI…

redis笔记——redis事务及锁应用

1.redis支持简单的事务 2.redis 和 mysql事务的对比 MysqlRedis开启start transactionmulti&#xff08;并不执行&#xff0c;放在一个队列里&#xff09;语句普通sql普通命令失败rollback回滚discard取消成功commitexecrollback 和 discard 的区别&#xff1a; 如果已经成功执…

Android 地图搜索商家,检索关键字(高德地图,百度地图),地址搜索

1、高德地图 实现效果 打印数据 实现步骤&#xff1a; 1、首先去高德开放平台注册应用 高德开放平台&#xff1a;https://lbs.amap.com/ 2、点击 我的应用 ——>设置 注&#xff1a;SHA1获取方法&#xff1a;https://blog.…

全局异常捕获处理-@ControllerAdvice+@HandleException

涂涂影院管理系统这个demo中有个异常管理的标签&#xff0c;用于捕获 涂涂影院APP用户异常信息 &#xff0c;有小伙伴好奇&#xff0c;排除APP&#xff0c;后台端的是如何处理全局异常的&#xff0c;故项目中的实际应用已记之。 关于目前的异常处理 在使用全局异常处理之前&am…

前端学习(2791):实现上拉加载更多

判断页面是否有十条数据 没有 则消失

使用DOM4J解析XML时非法字符Exception

最近在做简单的解析XML的工作&#xff0c;我使用的是DOM4J来解析&#xff0c;可以说很方便了&#xff0c;在加上使用XPATH来具体确定XML中特定元素下的位置&#xff0c;更加便捷了 可是在使用XML解析是却遇到了这样的问题&#xff1a; org.xml.sax.SAXParseException: An inval…

2019金球奖——梅西

在公元2019年12月3日&#xff0c;梅西加冕金球奖六冠王&#xff0c;今天我是梅西&#xff0c;今天属于梅西&#xff0c;祝贺梅西&#xff01; 王者气质 十全十美 实至名归 六金闪耀 蓦然回首&#xff0c;已是十年信仰

定时任务 Scheduled quartz

在项目应用中往往会用到任务定时器的功能&#xff0c;比如某某时间&#xff0c;或者多少多少秒然后执行某个骚操作等。 spring 支持多种定时任务的实现&#xff0c;其中不乏自身提供的定时器。 接下来介绍一下使用 spring 的定时器和使用 quartz 定时器。 前言 spring 自身提供…

前端学习(2792):下拉刷新

开启下拉刷新 延迟下拉刷新 解决下拉刷新 传递callback有就刷新 无就不刷新

Android 打开另一个APP,H5打开APP方法,打开淘宝、京东、天猫、拼多多。需求、商品详情或优惠券页面

1、在待打开的APP注册可被外APP调用的activity <activity android:name".TwoActivity"><intent-filter ><action android:name"android.intent.action.VIEW" /><category android:name"android.intent.category.DEFAULT"/…

Android 获取短信验证码,自动填充

1、申请权限 <uses-permission android:name"android.permission.RECEIVE_SMS" /> <uses-permission android:name"android.permission.READ_SMS" /> API>23动态申请权限 private static final String[] authBaseArr {//申请类型Manife…