目前防御反向代理镜像最彻底、最底层的手段。它的核心逻辑是:“只给通过我的 Cloudflare 转发过来的请求开门,其他的全部关在外面。”
以下是手把手的配置步骤:
第一步:在 Cloudflare (CF) 端设置自定义 Header
我们需要在 CF 转发请求给你的服务器时,自动加上一个只有你才知道的“接头暗号”。
-
登录 Cloudflare 控制面板。
-
选择你的网站域名。
-
点击左侧菜单的 规则 (Rules) -> 转换规则 (Transform Rules)。
-
在上方选项卡选择 修改请求头 (Modify Request Header)。
-
点击 创建规则 (Create rule)。
-
规则名称:随便起,比如 Add-Secret-Header。
-
选择传入请求的匹配条件:选择 所有传入请求 (All incoming requests)。
-
修改请求头:
-
操作:设置 (Set)
-
标头名称 (Header name):X-Origin-Secret (或者任何你自定义的名字,尽量特殊点)
-
值 (Value):YourUniquePassword123 (设置一个复杂的随机字符串)
-
-
点击 部署 (Deploy)。
第二步:在你的服务器 Nginx 中设置校验
现在 CF 已经会在请求里带上暗号了,接下来我们要让 Nginx 检查这个暗号。
-
找到你的网站 Nginx 配置文件(通常在 /etc/nginx/sites-enabled/ 下)。
-
在 server 块(监听 80 或 443 的那个块)中,加入以下判断逻辑:
server { listen 80; server_name yourdomain.com; # 换成你的域名 # --- 核心防御代码开始 --- # 检查自定义 Header 是否匹配 if ($http_x_origin_secret != "YourUniquePassword123") { return 403; # 如果暗号不对,直接返回 403 禁止访问 } # --- 核心防御代码结束 --- # 其他原有的 XenForo 配置... location / { try_files $uri $uri/ /index.php?$time; } # ... 其他 php 处理配置 }
Please indicate: 无趣的人生也产生有意思的事件 » 网站被恶意反向代理恶意镜像解决