Cloudflare 重定向

Moehron 发布于 5 小时前 7 次阅读


当你有一台海外自建VPS的时候,大多数人会将xray代理服务配置到443端口,伪装性更好一些
但是这样如果要部署其他网站的话就无法使用443端口了

这个时候我们就可以用cloudflare的origin rules

演示案例:我的网站原本是通过203929.xyz:8443访问的

该如何让他通过203929.xyz进行访问
首先打开cloudflare,进入

点击源服务器规则

第一部分:基础信息与匹配条件

  1. 规则名称:随便起一个名字,例如 wp-port-forward
  2. 如果传入请求匹配...:保持默认勾选的 “自定义筛选表达式”
  3. 当传入请求匹配时...(这里是关键):
    • 字段:点击下拉框,选择 “主机名” (Hostname)。
    • 运算符:点击下拉框,选择 “等于” (equals)。
    • :手动输入你的域名 203929.xyz(换成你的)。

第二部分:设置目标端口

向下滚动页面,你会看到一个“目标端口”或“端口重写”的选项区域:

  1. 找到 “目标端口” (Destination Port)。
  2. 选择 “重写到...” (Rewrite to...)。
  3. 在出现的数值框中填写:8443(换成你的)。

第三部分:保存与生效

  1. 点击页面最下方的蓝色按钮 “部署” (Deploy)。
  2. 等待生效:通常需要 30 秒到 1 分钟。
  3. 测试访问
    • 直接在浏览器输入 [https://203929.xyz](https://203929.xyz)不要加 8443)。
    • 如果能正常打开 WordPress,说明 Cloudflare 已经成功在后台帮你完成了“端口分发”

最后一步当你发现你的网站可以访问但是访问后端口又暴露了,以下是解决方案

1. 修改 WordPress 核心配置

这是最彻底的解决方法。通过 1Panel 的文件管理,找到网站根目录下的 wp-config.php 文件。

/* That's all, stop editing! Happy publishing. */ 这一行上方,加入以下代码:

PHP

define('WP_HOME', 'https://203929.xyz');
define('WP_SITEURL', 'https://203929.xyz');

/* 修复在反向代理/CDN 下的 HTTPS 识别问题 */
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
    $_SERVER['HTTPS'] = 'on';
}
  • 为什么要加后面这段? 因为请求经过 Cloudflare 后,到达服务器时可能是 HTTP 方式,WordPress 如果识别不到 HTTPS 状态,就会反复跳转,加上这段代码可以告诉 WordPress:“放心,前端确实是安全的 HTTPS 访问”。

此作者没有提供个人介绍
最后更新于 2026-05-02