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

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

    • 一、宝塔面板准备工作
      • [1. 确认网站部署状态](#1. 确认网站部署状态)
      • [2. 宝塔中检查网站配置](#2. 宝塔中检查网站配置)
    • [二、配置阿里云 CDN](#二、配置阿里云 CDN)
      • [1. 添加域名到 CDN](#1. 添加域名到 CDN)
      • [2. 配置 DNS 解析](#2. 配置 DNS 解析)
      • [3. 配置成功确认](#3. 配置成功确认)
    • [三、宝塔面板安全加固(隐藏 IP 的关键步骤)](#三、宝塔面板安全加固(隐藏 IP 的关键步骤))
      • [1. 禁止通过 IP 直接访问](#1. 禁止通过 IP 直接访问)
      • [2. 配置 SSL 证书](#2. 配置 SSL 证书)
    • [四、验证 CDN 生效](#四、验证 CDN 生效)
      • [检查 CDN 节点 IP](#检查 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 地址)
      • 端口:80 或 443(根据站点监听端口填写)
      • 回源协议:选择 HTTP 或 HTTPS (需与宝塔站点配置一致,若站点已开启强制 HTTPS,则选择 HTTPS)
  3. 完成添加后,阿里云会分配一个 CNAME 地址

2. 配置 DNS 解析

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

  2. 添加 CNAME 记录:

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

3. 配置成功确认

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

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

1. 禁止通过 IP 直接访问

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

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

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

    nginx 复制代码
    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;
    }

2. 配置 SSL 证书

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

四、验证 CDN 生效

检查 CDN 节点 IP

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

bash 复制代码
ping blog.ybyq.wang

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

作者:xuan

个人博客:https://blog.ybyq.wang

欢迎访问我的博客,获取更多技术文章和教程。

相关推荐
小豆庄28 分钟前
视频敏感信息脱敏:本地推理与云端API的工程取舍
阿里云·ai·视频·纹理贴图
发光小北3 小时前
EtherNet/IP 转 ModbusTCP 网关现场应用中会遇到什么问题?
服务器·网络·tcp/ip
开源必胜5 小时前
Socket、异步非阻塞 I/O 与 NGINX、Netty 模型
网络·tcp/ip·nginx
沫璃染墨5 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
棒棒的唐5 小时前
yii2集成阿里云短信服务SDK
阿里云·阿里短信
箓维6 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
静以修身zzz7 小时前
计算云服务
运维·网络·云计算
星恒随风7 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
Henry-SAP7 小时前
阿里云大模型份额居首
阿里云·云计算