IP 被牆怎麼辦?使用 cloudflare 配置代理
更多語言
更多操作
IP 被牆怎麼辦?使用 Cloudflare 配置代理
當伺服器 IP 被牆後,中國網絡無法直接連接伺服器,即使伺服器本身仍然正常運行。 一種常見的解決方案是使用 Cloudflare CDN 進行反向代理,通過域名訪問伺服器,從而繞過 IP 封鎖。
本文以 VMess + WebSocket (WS) 為例,介紹如何通過 Cloudflare 代理被封鎖的伺服器。
一、問題背景
當伺服器 IP 被封鎖後,通常會出現以下情況:
- 國內網絡無法連接伺服器 IP
- ping IP 不通
- TCP 連接超時
- 伺服器在海外訪問正常
這種情況通常稱為:IP 被牆
但如果伺服器仍然可以被海外網絡訪問,那麼就可以通過 CDN 代理的方式進行中轉訪問。
Cloudflare 可以作為一個中間層:
客户端 → Cloudflare CDN → 服务器
這樣客戶端訪問的是 Cloudflare 節點 IP,而不是伺服器真實 IP。
二、方案原理
整體結構如下:
客户端
↓
Cloudflare CDN
↓
服务器 WebSocket
↓
VMess 服务
工作流程:
- 客戶端訪問域名
- 請求進入 Cloudflare CDN
- Cloudflare 將請求轉發到源伺服器
- 伺服器 WebSocket 接收連接
- VMess 處理代理流量
優點:
- 隱藏伺服器真實 IP
- 使用 HTTPS 443 端口
- 流量看起來像正常網站訪問
三、準備條件
1 伺服器
需要一台海外伺服器,並且已經安裝:
- VMess 服務
- WebSocket 支持
例如:
- VPS
- 雲伺服器
2 域名
需要一個域名,並託管到 Cloudflare。
例如:
example.com
3 Cloudflare 賬戶
建議選擇:
- 免費套餐即可
四、伺服器端配置
本文以 VMess + WebSocket 為例。
1 VMess WebSocket 配置(或者任何其他一鍵腳本 ui 等等,確認你能對應上配置即可)
示例配置:
{
"inbounds": [
{
"port": 10000,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "你的UUID",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/ray"
}
}
}
]
}
配置說明:
| 參數 | 說明 |
|---|---|
| port | VMess監聽端口 |
| id | 用戶UUID |
| network | 使用 WebSocket |
| path | WebSocket路徑 |
2 WebSocket Path
建議使用一個不明顯的路徑,例如:
/[uuid]
/[random-text]
避免使用明顯的:
/vmess
/v2ray
/proxy
五、Cloudflare 配置
登錄 Cloudflare 後進行以下配置。
1 添加 DNS 記錄
進入:
Cloudflare → DNS
添加記錄:
ray.example.com → 服务器IP
並開啟 代理(橙色雲)
如果是灰色雲,則說明沒有走 Cloudflare CDN。
2 SSL 設置
進入:
SSL/TLS → Overview
推薦設置為:
Full
說明:
| 模式 | 說明 |
|---|---|
| Flexible | 不推薦 |
| Full | 推薦 |
| Full (Strict) | 需要源站證書 |
3 WebSocket 支持
Cloudflare 默認支持 WebSocket。
只需要確保:
- 使用 443
- 使用 HTTPS
無需額外開啟。
六、客戶端配置
客戶端填寫以下參數:
地址: ray.example.com
端口: 443
UUID: 你的UUID
加密: auto
传输协议: WebSocket
路径: /ray
TLS: 开启
配置示例:
server: ray.example.com
port: 443
uuid: xxxxxxxx
network: ws
path: /ray
tls: true
七、連接測試
配置完成後可以進行測試。
1 ping 域名
ping ray.example.com
返回 IP 應該是 Cloudflare IP。
[截圖:ping 返回 Cloudflare IP]
2 檢查 CDN 是否生效
可以訪問:
https://ray.example.com
如果返回:
400 Bad Request
通常說明 WebSocket 服務已經正常運行。
3 客戶端連接
打開客戶端連接節點。
如果成功:
- 可以正常訪問外網
- IP 不再暴露
八、常見問題
1 無法連接
檢查:
- DNS 是否開啟 Cloudflare 代理
- WebSocket path 是否一致
- TLS 是否開啟
- 端口是否 443
2 Cloudflare 522 錯誤
522 表示:
Cloudflare 无法连接源站
可能原因:
- 伺服器防火牆阻止
- 端口未開放
- 服務未啟動
3 Cloudflare 523 錯誤
523 表示:
源站不可达
通常是:
- IP 填寫錯誤
- 伺服器網絡問題
九、安全建議
為了提高安全性,建議:
- 隱藏伺服器真實 IP
- 使用防火牆限制訪問
- 定期更換 UUID
- 使用複雜 WebSocket Path
例如:
/api/v1/socket
/ws-9f8a7b
十、總結
當伺服器 IP 被牆後,可以通過 Cloudflare CDN 代理繼續使用伺服器。
優勢:
- 隱藏真實 IP
- 流量偽裝為 HTTPS
- 配置簡單
- 免費可用
適用協議:
- VMess
- WebSocket
- HTTPS
是一種非常常見的解決方案。如果 ip 暫時被牆,可以臨時使用該方案,等 ip 被放出來。