实战:使用Certbot签发免费ssl泛域名证书(主域名及其它子域名共用同一套证书)-2024.8.4(成功测试)
目录
[toc]
版权声明
本着开源共享、共同学习的精神:
本文是在 博主Ruyu 文章:《Ruyu-Blog 博客升级HTTPS》https://www.kuailemao.xyz/article/49 基础上增加了自己实践过程的一些细节,转载无需和我联系,但请注明文章来源。如果侵权之处,请联系博主进行删除,谢谢~
强烈推荐:
博主Ruyu :
Ruyu-Blog开源博客gitee地址:https://gitee.com/kuailemao/ruyu-blog
Ruyu-Blog开源博客网站地址:https://www.kuailemao.xyz/
背景
原来自己部署的ruyu-blog博客都是https,浏览器一直提示不安全。刚好伟大的群主也发布了网站升级https的教程,这里就跟着一起做了升级。
我将自己所有网站都进行了子域名的划分,全部使用同一个证书(泛域名证书),非常方便。
通过子域名的配置,自己网站 各模块内容更加细化,nice。
另外,此文章说明了如何给自己站点配置子域名方案:
1、在域名解析那里添加自己的子域名解析
2、nginx里配置子域名配置
3、验证
前文
域名定义
什么叫主域名/子域名
onedayxyy.cn
和 nas.onedayxyy.cn
这两个域名的主要区别在于它们的级别和可能指向的服务。
-
顶级域名(TLD)和二级域名(SLD):
onedayxyy.cn
: 这个域名是一个二级域名。.cn
是国家顶级域名(ccTLD),代表中国,而onedayxyy
是在.cn
下注册的二级域名。一般来说,这样的域名用于代表公司、组织或个人的主要网络地址。
-
子域名:
-
nas.onedayxyy.cn
: 这个域名是onedayxyy.cn
的子域名。子域名通常用于组织主域名下面的不同服务或内容。在这个例子中,nas
可能表示网络附加存储(Network Attached Storage),这意味着这个子域名可能指向与存储相关的服务或网站部分。
-
使用场景区别:
-
访问服务: 访问
onedayxyy.cn
通常会带你到该组织的主页或主要服务页面,而访问nas.onedayxyy.cn
可能会带你到专门的网络存储服务或提供特定功能的页面。 -
配置和管理: 在域名系统(DNS)管理上,你可以为每个子域名配置不同的记录,这意味着
nas.onedayxyy.cn
可以指向一个不同的IP地址,或者使用不同的DNS记录,比如为了负载均衡、地理位置服务等。
在实际应用中,子域名非常有用,**它允许域名所有者创建特定的服务或分类内容,而不需要为每个服务注册新的域名。**这既减少了成本,也使得域名管理更加集中和方便。
==什么叫子域名==
域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样就形成了顶级域、主域名、子域名等。
举例:
- “.com”是顶级域名(一级域名);
- “aliyun.com”是主域名(二级域名);
- “example.aliyun.com”是子域名(三级域名);
- “www.example.aliyun.com”是子域名的子域(四级域名)。
==为什么要设置子域名==
-
因为一个主域名可以设置出不同的子域名,所以能够便于用户将不同的子域名应用到不同的业务中。
例如主 域名是
aliyun.com
,开发者则可以设置子域名api.aliyun.com
为接口业务使用,子域名pay.aliyun.com
为支付系统使用。 -
实现访问者按照用户指定的子域名进行访问。
例如主域名是
aliyun.com
,开发者设置子域名为www.aliyun.com
和api.aliyun.com
后, 访问者输入这两个域名时就可以实现访问。
我的子域名规划
主域名:
起始页:onedayxyy.cn
子域名:
知识库:wiki.onedayxyy.cn
博客:blog.onedayxyy.cn
博客后台:blogadmin.onedayxyy.cn
博客存储:minio.onedayxyy.cn
相册:photo.onedayxyy.cn
音乐:music.onedayxyy.cn
说说:moments.onedayxyy.cn
子域名都是通过Nginx的反向代理来实现的。
Certbot简介
关于certbot
官方部署方法
https://certbot.eff.org/instructions?ws=nginx&os=centosrhel7&tab=standard
指导手册
https://eff-certbot.readthedocs.io/en/latest/#
部署手册(官网)
环境
centos7.6
ecs服务器 (得拥有1台云服务器)
源码
不涉及
写在前面
本次是手动申请的,Cerbort如何自动签发证书/续签证书,待后续研究……
手动申请
因为我的项目使用的是Docker不是,自动申请/续签不太适用,所以使用手动申请,自动申请方法自己去看官方文档。
使用Certbot ACME客户 端。
1、选择好对应的环境
https://certbot.eff.org/instructions?ws=nginx&os=centosrhel7&tab=standard
2、安装 Certbot
yum install epel-release -y
yum install snapd -y
systemctl enable --now snapd.socket
ln -s /var/lib/snapd/snap /snap
snap install --classic certbot