Skip to content
编码者
编码者

关注IT咨询、IT规划、数字化转型、架构设计、项目管理、软件开发和交付

  • 首页
  • IT咨询
    • IT咨询框架
    • IT项目管理
  • 人工智能
    • AI概念和理论
    • 数据科学
    • 人工智能应用
  • 企业架构
    • 应用架构设计
  • 程序员基础
    • 计算机网络
  • 编程技术栈
    • C语言编程
    • Python编程
    • iOS App开发
    • .NET技术栈
    • WordPress
    • Unity游戏开发
    • UE虚幻引擎
    • 技术问题记录
  • 工具Tips
  • 行业动态
  • 关于我
编码者

关注IT咨询、IT规划、数字化转型、架构设计、项目管理、软件开发和交付

免费HTTPS配置 :CentOS 7 + Nginx + Let’s Encrypt 全流程指南

编码者, 2025年6月18日2025年6月18日

在 Web 应用部署中,使用 Nginx 配置多个站点(使用不同域名,或相同域名不同二级域名)并启用 HTTPS 已是最佳实践之一。HTTPS 不仅提升了网站的安全性和信任度,也是搜索引擎排名的加分项。

本文将以 yourdomain.com 及其子域名 tgame.yourdomain.com 托管不同的静态网站为例,全面讲解如何在 CentOS 7 环境中通过 Nginx 和 Certbot 实现多站点部署和免费 HTTPS 证书自动化配置,适合新手站长和 DevOps 工程师参考。

🧾 一、环境准备

项目描述
操作系统CentOS 7或以上
Web 服务器Nginx
HTTPS 证书来源Let’s Encrypt(通过 Certbot 获取)
域名yourdomain.com 和 tgame.yourdomain.com
必备条件有效域名、DNS 已正确解析至服务器公网 IP

🛠️ 二、安装必要组件

1. 安装 EPEL 和 Nginx

sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

2. 安装 Certbot 与 Nginx 插件

sudo yum install certbot python2-certbot-nginx -y

📁 三、创建网站根目录(可选步骤)

为了更好地管理多个站点内容,建议为每个域名分配独立的根目录:

sudo mkdir -p /var/www/yourdomain.com/html
sudo mkdir -p /var/www/tgame.yourdomain.com/html
sudo chown -R nginx:nginx /var/www

你可以将 index.html 或其他静态资源文件放入这些目录中

⚙️ 四、配置 Nginx 虚拟主机

1. 编辑主域名配置文件 /etc/nginx/conf.d/yourdomain.com.conf

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    root /var/www/yourdomain.com/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

2. 编辑子域名配置文件 /etc/nginx/conf.d/tgame.yourdomain.com.conf

server {
    listen 80;
    server_name tgame.yourdomain.com;

    root /var/www/tgame.yourdomain.com/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

3. 检查并重新加载配置

sudo nginx -t
sudo systemctl reload nginx

🌐 五、配置 DNS 解析

登录你的域名管理平台(如阿里云、Cloudflare、GoDaddy),添加如下记录:

类型主机记录记录值(服务器公网 IP)
A@123.123.123.123
Awww123.123.123.123
Atgame123.123.123.123

📌 提示:

  • 可通过命令 dig tgame.yourdomain.com +short 或 ping 检查解析是否成功。
  • 使用 Cloudflare 时请关闭代理(即让图标变为灰色)或在其DNS配置上面A记录,以免影响 Let’s Encrypt 的验证。

🔐 六、获取并配置 HTTPS 证书

使用 Certbot 自动申请证书并更新 Nginx 配置:

单域名申请:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
sudo certbot --nginx -d tgame.yourdomain.com

多域名一次性申请(推荐):

sudo certbot --nginx \
  -d yourdomain.com \
  -d www.yourdomain.com \
  -d tgame.yourdomain.com

Certbot 会自动为你:

  • 验证域名所有权;
  • 获取有效期为 90 天的 HTTPS 证书;
  • 自动配置 Nginx 的 HTTPS 监听;
  • 添加 HTTP → HTTPS 的 301 永久跳转。

👉 Certbot 会自动修改你的 .conf 文件,并添加 HTTPS 配置。

🔁 七、测试自动续期机制

Let’s Encrypt 的证书有效期为 90 天,Certbot 会自动添加 cron 或 systemd 定时任务。你可以手动验证续期功能是否正常:

sudo certbot renew --dry-run

📊 八、验证部署效果

使用浏览器访问以下地址:

  • https://yourdomain.com
  • https://www.yourdomain.com
  • https://tgame.yourdomain.com

如果页面可以正常加载并显示 HTTPS 绿锁图标,说明配置成功。


❗ 九、常见问题与解决方案

问题类型可能原因解决建议
NXDOMAIN 错误域名没有正确解析检查 DNS 记录是否存在,等待解析生效
403 Forbidden目录无访问权限或 index.html 不存在检查文件权限和是否存在默认页面
证书申请失败端口 80/443 被防火墙或代理阻断开放防火墙端口或关闭冲突服务
HTTPS 错误页面浏览器缓存或未重载 Nginx清除缓存,检查 nginx -t 并重新加载配置

✅ 总结

通过本文的实战演示,你已经掌握了如何:

  1. 在 CentOS 7 上安装和配置 Nginx;
  2. 配置多个站点与对应的根目录;
  3. 利用 Let’s Encrypt 免费申请 HTTPS 证书;
  4. 配置自动续期机制,确保网站长期稳定运行。

这种架构方式对于博客、展示站点、小型业务服务都非常适用,并支持后续集成 CI/CD、反向代理、WebSocket 等更复杂功能。

Post Views: 62
工具Tips Let's Encrypt Https配置域名和子域名配置

文章导航

Previous post

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

近期文章

  • 免费HTTPS配置 :CentOS 7 + Nginx + Let’s Encrypt 全流程指南
  • AI编程实战001:从0打造网页版打字游戏《快乐打地鼠》
  • 机器学习三要素:模型假设、评价函数与优化算法如何协同工作
  • 如何导出宽表格Excel为PDF且不裁剪列
  • 人工智能发展简史:从图灵到ChatGPT的里程碑之路
  • AI Agents介绍:定义、原理、案例与未来展望
  • 人工智能(AI)初学者学习路线图(2025年)
  • 《Unity入门实战》0008 – 使用 Unity 的 [SerializeField] 实现封装与 Inspector 面板访问
  • 《Unity入门实战》0007 – 第一个 Unity C# 脚本:控制 2D 小球移动与跳跃
  • 2025年AI行业趋势综述

近期评论

    归档

    • 2025 年 6 月 (9)
    • 2025 年 5 月 (10)
    • 2025 年 4 月 (5)
    • 2025 年 2 月 (1)
    • 2024 年 12 月 (4)
    • 2024 年 11 月 (7)
    • 2024 年 9 月 (1)
    • 2024 年 8 月 (4)
    • 2024 年 7 月 (1)
    • 2024 年 2 月 (1)
    • 2023 年 12 月 (3)
    • 2023 年 11 月 (6)
    • 2023 年 10 月 (4)
    • 2023 年 9 月 (2)
    • 2023 年 8 月 (38)
    • 2022 年 2 月 (1)
    • 2022 年 1 月 (13)
    • 2021 年 1 月 (1)
    • 2020 年 10 月 (1)
    • 2020 年 1 月 (1)
    • 2014 年 7 月 (2)

    分类

    • IT咨询 (7)
      • IT咨询框架 (3)
      • IT项目管理 (2)
    • 人工智能 (11)
      • AI概念和理论 (1)
      • 人工智能应用 (1)
      • 数据科学 (3)
    • 企业架构 (3)
    • 工具Tips (3)
    • 生活笔记 (24)
    • 程序员基础 (3)
      • 计算机网络 (2)
    • 编程笔记 (56)
      • .NET技术栈 (3)
      • C语言编程 (1)
      • Golang技术栈 (1)
      • iOS App开发 (1)
      • Python编程 (18)
      • UE虚幻引擎 (1)
      • Unity游戏开发 (9)
      • Wordpress (5)
      • 工具 (1)
    • 行业动态 (14)
    ©2025 编码者 | WordPress Theme by SuperbThemes | 沪ICP备17019044号-3