Cloudflare SaaS 接入网站并添加优选 IP 教程

场景说明

  • 主访问域名:xiny.hk.cn(托管于 DNSPod 等第三方 DNS 服务商,不可为 Cloudflare
  • 回源域名:yuanshi.eu.org(托管于 Cloudflare,必须为 Cloudflare 托管域名
  • 用户实际访问使用 xiny.hk.cn,数据回源至 yuanshi.eu.org,实现用户无感知的 Cloudflare SaaS 接入
  • 服务器部署多个网站,通过 SNI + hostname 匹配返回对应内容

1. Nginx 网站配置

以服务器上两个示例站点为例:

test1.xiny.hk.cn 配置

server {
    listen 80;
    listen [::]:80;
    server_name test1.xiny.hk.cn;

    location / {
        charset utf-8;
        default_type text/plain;
        return 200 '我是test1.xiny.hk.cn';
    }
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name test1.xiny.hk.cn;

    ssl_certificate /root/www/ssl/hkcn.crt;
    ssl_certificate_key /root/www/ssl/hkcn.key;

    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";

    location / {
        charset utf-8;
        default_type text/plain;
        return 200 '我是test1.xiny.hk.cn';
    }
}

test2.xiny.hk.cn 配置

server {
    listen 80;
    listen [::]:80;
    server_name test2.xiny.hk.cn;

    location / {
        charset utf-8;
        default_type text/plain;
        return 200 '我是test2.xiny.hk.cn';
    }
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name test2.xiny.hk.cn;

    ssl_certificate /root/www/ssl/hkcn.crt;
    ssl_certificate_key /root/www/ssl/hkcn.key;

    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";

    location / {
        charset utf-8;
        default_type text/plain;
        return 200 '我是test2.xiny.hk.cn';
    }
}

2. Cloudflare 设置步骤

2.1 添加源站 A 记录

在 Cloudflare 面板中添加一条 A 记录:

  • 主机记录:test.yuanshi.eu.org
  • 记录类型:A
  • 内容:源服务器公网 IP
  • 代理状态:开启(橙色云)
    20250606_092626_9827c7a8_hp

2.2 配置 SaaS 自定义主机名

进入 SSL/TLS > 自定义主机名(Custom Hostnames) 页面:

20250606_092629_9a70e804_hp

添加自定义主机名

主机名源站
test1.xiny.hk.cntest.yuanshi.eu.org
test2.xiny.hk.cntest.yuanshi.eu.org

点击“添加自定义主机名”,填写如上信息。

20250606_092627_97577340_hp
20250606_092623_2e6f0bbb_hp

添加默认源站

在“源站”部分点击“添加源站”,添加:

20250606_092624_9e9a67e3_hp

注意:此默认源站必须设置,否则主机名状态会卡在“待定”。


3. DNS 解析设置(DNSPod)

Cloudflare SaaS 创建自定义主机名后,会自动生成 TXT 记录。

20250606_092625_02a4ac37_hp

在 DNSPod 中手动添加:

  • 对应主机名的 TXT 验证记录
  • 将主机名的 CNAME 指向 test.yuanshi.eu.org

注意:复制后的TXT名称需要删掉域名后缀

20250606_092628_2a9c8f81_hp


4. 启用优选 IP

待 SaaS 状态变为“有效”后,即可将 CNAME 从 test.yuanshi.eu.org 修改为优选 IP 域名,并删除TXT解析。

推荐优选 IP 域名示例:

csgo.com
visa.com

test1.xiny.hk.cn 的 CNAME 改为如 csgo.com,实现优选节点访问。

20250606_092624_0a0803a4_hp

20250606_092626_5cd6e64e_hp


5. 强化 HTTPS 安全

在 Cloudflare 控制台中,设置:

  • SSL/TLS > 加密模式:选择 完全(严格)

确保 Cloudflare 与源站之间通信的 SSL 证书有效,防止中间人攻击。


6. 源站 SNI 支持配置

上一步开启完全(严格)方式传输时,会导致浏览器访问出现526错误,创建以下nginx配置解决问题

创建一个 Nginx 虚拟主机监听 test.yuanshi.eu.org

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name test.yuanshi.eu.org;

    ssl_certificate /root/www/ssl/yuanshi.crt; # 可以放Cloudflare的15年免费证书
    ssl_certificate_key /root/www/ssl/yuanshi.key;

    return 404;
}

该配置仅用于建立 TLS 链接,完成 SNI 握手,无需处理实际业务请求


7. 测试与验证

  • 访问 https://test1.xiny.hk.cnhttps://test2.xiny.hk.cn,确认可访问

20250606_092629_f701f1f0_hp

解析的ip都是优选ip,访问质量不错

大家可以访问试试效果

https://test1.xiny.hk.cn

https://test2.xiny.hk.cn

文章作者: 子受
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 薪萤-博客
技术
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝