当前位置: 首页 > backend >正文

使用阿里云 CDN 保护网站真实 IP:完整配置指南

使用阿里云 CDN 保护网站真实 IP:完整配置指南

    • 一、宝塔面板准备工作
      • 1. 确认网站部署状态
      • 2. 宝塔中检查网站配置
    • 二、配置阿里云 CDN
      • 1. 添加域名到 CDN
      • 2. 配置 DNS 解析
      • 3. 配置成功确认
    • 三、宝塔面板安全加固(隐藏 IP 的关键步骤)
      • 1. 禁止通过 IP 直接访问
      • 2. 配置 SSL 证书
    • 四、验证 CDN 生效
      • 检查 CDN 节点 IP

本文将详细介绍如何为网站配置阿里云 CDN,核心目标是隐藏服务器的真实 IP 地址,防止其直接暴露在公网,从而有效提升网站的安全性。

一、宝塔面板准备工作

1. 确认网站部署状态

  • 博客域名 blog.ybyq.wang:确认网站正常运行在当前服务器 ***.***.***.***,并通过宝塔面板进行管理。

2. 宝塔中检查网站配置

  1. 登录宝塔面板,进入网站菜单,确认 blog.ybyq.wang 站点已正常创建并可访问
  2. 检查站点根目录是否指向正确的网站文件路径

二、配置阿里云 CDN

1. 添加域名到 CDN

  1. 登录 阿里云 CDN 控制台,点击添加域名,我的域名添加过,所以随便填一个
    添加域名

  2. 填写以下信息:

    • 加速域名blog.ybyq.wang(首次添加需在DNS解析中添加记录值)
      添加解析

    • 业务类型:选择图片小文件均可,此步骤主要目的是接入 CDN

    • 源站信息

      • 源站类型:IP
      • 源站地址:***.***.***.***(服务器真实 IP 地址)
      • 端口:80443(根据站点监听端口填写)
      • 回源协议:选择 HTTPHTTPS(需与宝塔站点配置一致,若站点已开启强制 HTTPS,则选择 HTTPS)
        添加源站信息
  3. 完成添加后,阿里云会分配一个 CNAME 地址

2. 配置 DNS 解析

  1. 前往域名注册商阿里云的 DNS 解析控制台

  2. 添加 CNAME 记录:

    • 二级域名配置:找到 blog.ybyq.wangA 解析记录,将其类型修改为 CNAME,记录值改为阿里云 CDN 分配的 CNAME 地址,主机记录为二级域名前缀(例如 blog
    • 一级域名配置:直接添加 CNAME 记录,主机记录填 @
    • 如果提示记录冲突,删除原来的记录再设置新的
  3. 等待 DNS 解析生效(通常需要几分钟到几小时)
    添加CNAME

3. 配置成功确认

完成上述步骤后,可在阿里云 CDN 控制台看到域名状态为"正常运行"
配置成功

三、宝塔面板安全加固(隐藏 IP 的关键步骤)

1. 禁止通过 IP 直接访问

这是防止攻击者绕过 CDN 直接访问源站的核心措施:

  1. 在宝塔面板中打开网站列表,找到对应 IP 的默认站点(通常为 ***.***.***.***)。如果没有,可以新建一个以 IP 地址为域名的站点

  2. 点击设置 > 配置文件,修改 Nginx 配置,确保同时处理 HTTP 和 HTTPS:

    server {listen 80 default_server;listen [::]:80 default_server;server_name _; # 匹配所有未绑定的域名和直接 IP 访问return 444; # 直接关闭连接,不返回任何信息,比 403 更安全
    }# 如果服务器开启了 HTTPS (443)
    server {listen 443 ssl http2 default_server;listen [::]:443 ssl http2 default_server;server_name _;# 配置一个无效或自签名的 SSL 证书,或指向不存在的证书路径# 目的是让通过 IP 的 HTTPS 访问因证书错误而失败ssl_certificate /etc/nginx/ssl/dummy.crt; # 确保证书文件不存在或无效ssl_certificate_key /etc/nginx/ssl/dummy.key;# 也可以直接返回错误,但证书错误通常能阻止连接建立return 444;
    }
    

    Nginx配置

2. 配置 SSL 证书

  1. 进入 blog.ybyq.wang 的站点设置,选择 SSL 选项卡
  2. 申请或上传证书(推荐申请 Let’s Encrypt 免费证书)
  3. 开启强制 HTTPS选项
    配置SSL

四、验证 CDN 生效

检查 CDN 节点 IP

使用 ping 命令验证 CDN 是否正确接管了网站流量:

ping blog.ybyq.wang

返回的 IP 应为阿里云 CDN 节点(非服务器真实 IP ***.***.***.***
验证结果

作者:xuan
个人博客:https://blog.ybyq.wang
欢迎访问我的博客,获取更多技术文章和教程。

http://www.xdnf.cn/news/2719.html

相关文章:

  • Wireshark快速入门--对启动的后端程序进行抓包
  • 杰里芯片 7083G 之通话数据dump
  • Java基础361问第16问——枚举为什么导致空指针?
  • GPU虚拟化实现(五)
  • LeetCode热题100--560.和为K的子数组(前缀和)--中等
  • 自动化测试的三种等待方式
  • 算法笔记.染色法判断二分图
  • mitt 事件发布-订阅库在 react 中的使用
  • 简单理解https与http
  • 邮件分类特征维度实验分析
  • 软件测试全流程与主流测试方法详解:从理论到实战
  • 快乐数(双指针解法)
  • 1.57g 五一优选 = 雨晨 26100.3915 Windows 11 IoT 企业版 LTSC 2025 极速版(轻)
  • Flutter 学习之旅 之 flutter 作为 module ,在 Android 的界面中嵌入Flutter界面功能的简单整理
  • 【JAVAFX】controller中反射调用@FXML的点击事件失败
  • el-table 自定义列、自定义数据
  • 【学习笔记】RL4LLM(三)
  • 【设计模式】GOF概括
  • 拖动banner图,解决点击冲突问题
  • web3.js 和 ethers.js 的核心区别
  • c++11: 类型转换
  • dummy cli-tool ubuntu22.04使用
  • 在 Git 中,撤销(回退)merge 操作有多种方法
  • terraform 动态块(Dynamic Blocks)详解与实践
  • [Python开发] 如何用 VSCode 编写和管理 Python 项目(从 PyCharm 转向)
  • Java面试:Spring及Spring Cloud技术深度剖析
  • docker安装部署TDengine实现主从复制
  • 雷池WAF的身份认证 - GitHub
  • <uniapp><插件><UTS>在uniapp中,创建自己的插件并发布到uni插件市场
  • JavaScript-基础语法