生成免费且支持泛域名的的SSL证书

本文涉及的产品
.cn 域名,1个 12个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析DNS,个人版 1个月
简介: 生成免费且支持泛域名的的SSL证书

title: 生成免费且支持泛域名的的SSL证书
date: 2020-06-23 15:33:08.0
updated: 2020-06-24 18:25:31.0
url: https://www.ufec.cn/archives/acme-free-ssl.html
thumbnail: https://ghproxy.com/https://raw.githubusercontent.com/ufec/picGoImg/main/blog/6276462b84dbf1a17105d26bac1e7e53.webp
categories:

  • 日常

tags:

  • SSL

使用 acme 为域名生成免费的通配符 SSL

安装acme.sh

curl  https://get.acme.sh | sh
# 创建命令快捷方式
alias acme.sh=~/.acme.sh/acme.sh

生成证书

HTTP 方式

使用的 apache 或 nginx
acme.sh --issue  -d mydomain.com   --apache/nginx

会自动读取配置来验证域名

没有使用这些服务器软件
acme.sh  --issue  -d mydomain.com -d www.mydomain.com  --webroot  /home/wwwroot/mydomain.com/

需要指定域名, 并指定域名所在的网站根目录. acme.sh 会全自动的生成验证文件, 并放到网站的根目录, 然后自动完成验证. 最后会聪明的删除验证文件

DNS 方式

这种方式的好处是, 你不需要任何服务器, 不需要任何公网 ip, 只需要 dns 的解析记录即可完成验证. 坏处是,如果不同时配置 Automatic DNS API,使用这种方式 acme.sh 将无法自动更新证书,每次都需要手动再次重新解析验证域名所有权。

acme.sh  --issue  --dns   -d mydomain.com

然后, acme.sh 会生成相应的解析记录显示出来, 你只需要在你的域名管理面板中添加这条 txt 记录即可.等待解析完成之后, 重新生成证书:

acme.sh  --renew   -d mydomain.com

也可以使用域名解析商提供的 api 来实现,并且能自动更新

这里以DNSPOD为例,打开密钥管理,密钥只会显示一次,不记得只能重新创建,创建完成记得保存

export DP_Id="your api id"
export DP_Key="your api token"
acme.sh   --issue   --dns dns_dp   -d aa.com  -d www.aa.com
#以上信息自行替换
#生成通配符SSL
acme.sh   --issue   --dns dns_dp   -d aa.com  -d *.aa.com

这一步的过程就类似于在站长平台提交网站时,要验证域名所有者,推荐使用 API 的方式来部署,简单快捷

这里以本站域名作为示范
111.webp
这样的话基本就可以

安装证书

默认生成的证书都放在安装目录下: ~/.acme.sh/, 请不要直接使用此目录下的文件, 例如: 不要直接让 nginx/apache 的配置文件使用这下面的文件. 这里面的文件都是内部使用, 而且目录结构可能会变化.

正确的使用方法是使用 --install-cert 命令,并指定目标位置, 然后证书文件会被 copy 到相应的位置, 例如:

Apache example:

acme.sh --install-cert -d example.com \
--cert-file      /path/to/certfile/in/apache/cert.pem  \
--key-file       /path/to/keyfile/in/apache/key.pem  \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd     "service apache2 force-reload"

Nginx example:

acme.sh --install-cert -d example.com \
--key-file       /path/to/keyfile/in/nginx/key.pem  \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd     "service nginx force-reload"

宝塔的话直接就可以复制证书内容,生成证书,并被存在证书夹里,根域名的任何子域名(二级域名,不支持大于二级以上的域名)都可以一键部署,很方便的。
宝塔操作示例

#创建文件夹
mkdir /www/server/panel/vhost/cert/www.yourdomain.com
#制作证书
acme.sh --install-cert -d yourdomain.com -d www.yourdomain.com \
--key-file "/www/server/panel/vhost/cert/www.yourdomain.com/privkey.pem" \
--fullchain-file "/www/server/panel/vhost/cert/www.yourdomain.com/fullchain.pem" \
--reloadcmd "service nginx force-reload"
#将www.yourdomain.com换成你的域名(多个域名就要写多次,这里用宝塔的话还是推荐手动复制到ssl配置里,可以生成通配符证书夹,其他子域名直接点部署即可,更加方便)

宝塔效果
444.webp

更新证书

目前证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.

更新 acme.sh

目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.

升级 acme.sh 到最新版 :

acme.sh --upgrade

如果你不想手动升级, 可以开启自动升级:

acme.sh  --upgrade  --auto-upgrade

之后, acme.sh 就会自动保持更新了.

你也可以随时关闭自动更新:

acme.sh --upgrade  --auto-upgrade  0

出错怎么办

如果出错, 请添加 debug log:

acme.sh  --issue  .....  --debug

或者:

acme.sh  --issue  .....  --debug  2

请参考: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh

最后, 本文并非完全的使用说明, 还有很多高级的功能, 更高级的用法请参看其他 wiki 页面.

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

证书检测

查看本站在又拍云检测结果,跟免费单域名的 SSL 证书一样,在其他平台的需要手动续签,宝塔的需要实名认证,而这个支持泛域名,还能自动续签,一个字:香!

其他

还有一个网站也能免费生成通配符 SSL,但那个在又拍云检测结果是 B,不如这个,就不推荐了。
可以配合又拍云的 CDN 还是很不错的,又拍云联盟的活动也很可

目录
相关文章
|
3天前
|
安全 数据建模 网络安全
便宜多域名SSL证书申请平台推荐
【7月更文挑战第25天】
7 1
|
1月前
|
前端开发 小程序 应用服务中间件
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
96 4
|
2月前
|
弹性计算 安全 Java
阿里云服务器配置、(xshell)远程连接、搭建环境、设置安全组、域名备案、申请ssl证书
以下是内容的摘要: 在阿里云购买服务器并进行基本配置的步骤如下: 1. **准备工作**: - 注册阿里云账号:访问阿里云官网并注册新账号,输入用户名、手机号和验证码。 - 实名认证:在个人中心进行实名认证,建议选择企业实名,因为个人实名可能无法索取企业发票。
|
2月前
|
弹性计算 小程序 数据建模
快速完成LNMP环境搭建、域名注册、SSL证书申请
本文主要分享如何利用云服务器进行项目后端的开发,向大家分享一些踩坑的经验。
快速完成LNMP环境搭建、域名注册、SSL证书申请
|
2月前
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
阿里云域名购买注册流程_创建信息模板_域名实名认证全流程
阿里云域名注册指南:访问[阿里云域名注册入口,查询并注册心仪域名,选择后缀,加入清单后结算。价格因后缀而异,如.com首年78元。创建域名信息模板完成实名认证,首次需上传资料。获取优惠口令并使用可享折扣
|
2月前
|
运维 JavaScript Java
Serverless 应用引擎产品使用之在阿里云函数计算中想为两个不同的服务分别开通自定义域名如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
18天前
公安部备案域名证书怎么获得?阿里云域名证书申请下载方法
在阿里云获取域名证书,需登录域名管理控制台,点击“域名列表”,选择域名后点击“管理”,再点击左侧的“域名证书下载”。过程免费且快速。
39 3
|
29天前
|
敏捷开发 Kubernetes 持续交付
阿里云云效产品使用问题之Ingress想配置多个域名,该怎么操作
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
域名解析 网络协议 安全
【域名解析DNS专栏】云服务中的DNS解析服务比较:阿里云、AWS、Azure大PK
【5月更文挑战第23天】此对比分析探讨了阿里云DNS、AWS Route 53和Azure DNS的服务特点。阿里云DNS以其智能解析和IPv6支持脱颖而出,适合中国地区用户;AWS Route 53凭借其强大的路由策略和与AWS生态的深度集成吸引高级用户;Azure DNS则以简洁管理和DNSSEC安全支持见长,与Azure平台集成良好。选择取决于具体需求,如功能、易用性、性能、安全性和成本。
【域名解析DNS专栏】云服务中的DNS解析服务比较:阿里云、AWS、Azure大PK