FreeSSL免费证书
一、问题引入
最近几天发现有4个域名的ssl 证书准备过期了,都是用的阿里云免费证书。大家如果有用过阿里云的免费证书,应该知道每个账号只有20个免费额度可以申请。

在一年内用完20个免费额度只能给钱买了(阿里还是比较好,每年都有20个免费额度可以领)~~但凭借我的聪明才智(臭美,哈哈~),想到一个方法可以延缓这种情况(但治标不治本)。因为我们公司阿里云账号特别多,每年几乎都能申请新账号去享受新用户优惠,只要公司人员有流动,同时也意味着有很多旧账号。方法就是域名转至其他账号。
老实说,我不喜欢这样做,作为一个坦荡正义之人,要有自己的道德标准,嘘。。不废话,咱们继续
昨天上班我是有预留点时间去测试acme.sh做免费证书申请的【https://zhuanlan.zhihu.com/p/112300451】,不过还是在阿里云DNS API验证域名的那步有问题(2020年的时候也是在这里测不通),要用到阿里的ak(阿里云RAM访问控制)。后来试下用.well-known文件夹方式验证也不行【https://ruby-china.org/topics/31983】。
由于今天那些域名证书就过期了,昨天上班还有别的事忙,所以先申请好阿里的留个后路给自己。想起阿强昨天也在研究免费证书申请(用的FreeSSL网站),但开始没用他的方法测试而用文件夹/DNS API方式,是因为以前在我的vps是可以测通文件夹验证方式的,说不定DNS也可以呢,然而,现在连文件夹的方式也不行,只能今天试阿强的方法了。
二、FreeSSL申请免费证书
1、证书申请和部署:

(2)配置
DCV配置:域名解析,添加CNAME记录
(3)服务器部署
完了之后会有这个图:

注意:因为默认泛域名证书生成位置为:/root/.acme.sh/ 下,貌似直接复制到nginx某个证书目录下是不行的(阿强好像说过,我懒先不测了),所以需要加这步(我昨天是用公司elk那个域名去测的,因为相对来说没那么重要):
用root去执行,上面服务器部署acme.sh 都是用root跑的。
acme.sh --install-cert -d *.xxx.net --key-file /home/{运行nginx普通用户}/app/nginx/conf/cert/elk/key.pem --fullchain-file /home/{运行nginx普通用户}/app/nginx/conf/cert/elk/cert.pem
顺便补充acme.sh 部署过程,因为我线上服务器用官方的命令不行:【curl https://get.acme.sh | sh 】
mkdir /usr/local/src/acme-ssl && cd /usr/local/src/acme-ssl git clone https://github.com/acmesh-official/acme.sh.git cd acme.sh ./acme.sh --install
source ~/.bashrc
ssl_certificate /home/{运行nginx的普通用户}/app/nginx/conf/cert/elk/cert.pem;
ssl_certificate_key /home/{运行nginx的普通用户}/app/nginx/conf/cert/elk/key.pem;
修改权限:
[root@xtw704 extra]$ chown {运行nginx的普通用户}.{运行nginx的普通用户} /home/{运行nginx的普通用户}/app/nginx/conf/cert/elk/*.pem
重新加载nginx配置文件即可。
场景一:证书起效依赖生成证书的客户端么
答:不依赖
留意上面我截的图,这个服务器是我的一个入口测试服务器,我不敢在原转发的elk入口服务器去部署acme.sh,因为那台服务器很重要。从测试服务器拷贝:cert.pem 和 key.pem 到正式入口服务器,测过能起效(注意要改下dns解析的A记录,nginx入口依赖)
场景二:泛域名是否能正常起效
答:可以
上面测试的是 elk.xxx.net,现在是 jenkins.xxx.net,也是把cert.pem 和 key.pem 拷贝到入口nginx服务器,改下nginx证书配置文件即可
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版
2015-07-02 codeforces 557B. Pasha and Tea 解题报告
2014-07-02 codeforces 441C. Valera and Tubes 解题报告