一個主域名 + Cloudflare Tunnel + N 個子域名:個人站長最省錢的架構

作者:AI山腳學長
日期:2026年4月18日 下午3:10
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

利用「一個主域名 + Cloudflare Tunnel」構建高性價比架構,實現零成本擴展無限個子域名站點。

  • 核心邏輯:主域名是樓宇招牌,子域名是房間號;買下主域名後,子域名數量不受限且完全免費。
  • 技術優勢Cloudflare Tunnel 採用「主動連接」機制,服務器無需開放任何對外端口,徹底隱藏真實 IP。
  • 運維簡化:自動處理 SSL 證書續簽及 DDoS 防護,加新站只需在 Cloudflare 控制枱添加一行配置。
  • 適用場景:除了品牌隔離、法律合規或特定 SEO 需求外,大部分個人項目應優先使用子域名以節省續費開支。
  • 部署建議:使用 systemd 或 Docker 守護 cloudflared 進程,確保隧道高可用性,避免單點故障。
值得記低
工具 one.dash.cloudflare.com

Cloudflare Tunnel (cloudflared)

用於建立安全加密隧道,將本地服務映射至公網,無需配置 Nginx 或開放防火牆端口。

流程

子域名快速上線流程

Networks -> Tunnels -> Public Hostname -> Add a public hostname -> 填寫 Subdomain 及本地 Service URL。

整理重點

域名與子域名的「省錢」邏輯

好多人以為每開一個新站都要買新域名,結果手頭上一堆域名每年續費都要幾千蚊。其實服務器好似一棟樓,IP 係地址,主域名係招牌,而子域名(Subdomain)就係房號。只要買咗一個主域名,入面嘅房號你可以隨便編排,完全唔使錢。

整理重點

點解推薦用 Cloudflare Tunnel 執屋?

以前搞網站要自己整 SSL、開 Nginx 反向代理、仲要驚俾人掃描端口。用咗 Cloudflare Tunnel 之後,成件事變到好簡單:

服務器唔使開放 80 或 443 端口,外部掃描器完全睇唔到你,安全性極高。

佢會自動幫你搞掂所有子域名嘅 HTTPS 證書,仲自帶免費嘅 DDoS 防護,對個人站長嚟講簡直係神物。

整理重點

實戰部署架構與配置

喺 Cloudflare 控制枱,你可以將唔同嘅子域名指向服務器入面唔同嘅 Port。例如 example.com 去 3000 端口,proxy.example.com 去 8001 端口,全部流量都經由一條加密隧道傳輸。

Cloudflare Tunnel 公網主機名配置示例 yaml
Subdomain: proxy
Domain: yourdomain.com
Service Type: HTTP
URL: localhost:8001
# 留意:URL 填寫本地內網地址,唔好填公網域名,費事造成循環跳轉。
整理重點

幾時先真係要買新域名?

雖然子域名好用,但如果你遇到以下情況,都係建議乖乖地俾錢買新域名:

圖片

一個域名夠用嗎?

有粉絲朋友後台問:

為啥每建一個站都要買一個域名?

如果兩個站都在同一台服務器上,而且是代理和被代理的關係,能不能共用一個域名?

我最開始也是這麼搞的,就是覺得一個產品就應該配一個獨立的域名才顯得專業,然後手裏就存了十幾個域名。

其實有幾個站早就沒有繼續維護了,但是域名還在續費。

後面我就想了一下,其實有一些業務,一個主域名加上子域名就夠了。這篇文章我會講一下:

  1. 域名跟子域名的關係

  2. 什麼時候真的要買新域名

  3. 什麼時候用子域名就能解決問題

圖片



一、域名和子域名的關係

可以用一個簡單的類比來理解:

  • 服務器是一棟樓

  • IP 地址是樓的物理地址

  • 主域名是樓外的招牌(example.com)

  • 子域名是樓內的房間號(301、302、303)

  • Cloudflare Tunnel 相當於前台,負責把訪客引導到對應房間

理解這個結構後,有幾個關鍵點:

1. 子域名數量不受限制

在 Cloudflare 添加一個子域名,只是在 DNS 記錄里加一行配置,對服務器本身沒有任何資源消耗

2. 子域名完全免費

域名註冊商收費的是主域名,買下主域名後,你可以自由創建任意數量的子域名,不需要額外付費。

3. 子域名相互獨立

一個子域名出現問題(比如被攻擊),不會影響到其他子域名的正常運行。

💡 代理站和主站在同一台服務器上,這正是使用子域名的典型場景。

主站用 example.com,代理站用 proxy.example.com,兩個獨立的訪問入口,共享同一個服務器資源。


二、子域名的實際應用

主域名(比如 example.com)是你從註冊商購買的,需要按年付費。

⚠️ 這是唯一需要花錢的部分。

子域名是在主域名前添加前綴:

   

shop.example.com      —— 商城 

admin.example.com     —— 後台 

api.example.com       —— 接口 

proxy.example.com     —— 代理 

docs.example.com      —— 文檔 

blog.example.com      —— 博客 

test.example.com      —— 測試環境 

staging.example.com   —— 預發環境 

 

這些子域名全部免費,創建過程只需要幾秒鐘。我自己在一個主域名下創建了二十多個子域名,沒有任何額外費用。

什麼時候需要購買新的主域名?

主要是這幾種情況:

品牌隔離 — 面向不同市場的產品(比如國內和海外),使用獨立域名更有利於建立本地信任感。

風險隔離 — 如果某些業務存在合規風險,獨立域名可以避免一個站點出問題影響到整個域名體系。

SEO 考慮 — 獨立域名在搜索引擎中的權重是獨立計算的,這在某些場景下有優勢。

💡 除了這幾種特殊情況,大部分場景用子域名就足夠了。

對於“代理站 + 主站”這種同服務器、相關業務的情況,用子域名是最合理的選擇


三、為什麼推薦 Cloudflare Tunnel

不用 Cloudflare Tunnel 也可以,但需要自己處理這些事情:

  • 申請和續簽 SSL 證書(Let‘s Encrypt 需要定期續簽)

  • 配置 Nginx 反向代理、防火牆規則、限流策略

  • 開放 80、443 端口,暴露公網 IP

  • 應對 SSH 暴力破解和各種掃描攻擊

  • 自行承擔 DDoS 攻擊的風險

我早期是手動配置這些的,後來改用 Cloudflare Tunnel,省去了大量維護工作。


工作原理

在服務器上運行 cloudflared 程序,它會主動建立一條加密連接到 Cloudflare 的邊緣節點。

用戶訪問域名時,流量先到達 Cloudflare,再通過這條隧道轉發到服務器。

🔑 關鍵是“主動連接”——服務器不需要開放任何對外端口,外部掃描看到的是一個完全封閉的服務器。

主要優勢

1. 隱藏真實 IP 
用戶 ping 域名得到的是 Cloudflare 的 IP,即使知道你的真實 IP 也無法直接訪問。

2. 自動 HTTPS 證書
包括通配符證書,覆蓋所有子域名。

3. 免費 DDoS 防護 
Cloudflare 的免費套餐可以應對大部分流量攻擊。

4. 無需開放端口
服務器只需要保持一個出站連接,大幅提升安全性。


四、我的實際部署長這樣

   

用戶訪問 example.com 或 proxy.example.com 

    │ 

    ▼ 

Cloudflare 邊緣網絡(免費 HTTPS + CDN + 防 DDoS) 

    │ 

    ▼ 加密隧道 

你的 VPS 

    ├─ cloudflared(隧道守護進程) 

    ├─ 前端服務(端口 3000) 

    ├─ 後端服務(端口 8000) 

    ├─ 數據庫 

    └─ 緩存 

 

Cloudflare Tunnel 負責流量分發:

  • 用戶訪問 example.com → 轉發到 3000 端口

  • 用戶訪問 proxy.example.com → 轉發到代理服務

一台服務器、多個服務入口,彼此獨立運行。

✨ 這種架構還有一個好處:加新站直接在 Cloudflare 控制枱填一行配置就能上線,不用修改服務器、不用調整防火牆、不用購買新 VPS。

這種靈活性對個人項目來說很實用。


五、加子域名的具體步驟

步驟:

  1. 打開 https://one.dash.cloudflare.com

  2. 左邊菜單 Networks → Tunnels

  3. 找到你的 tunnel → 點進去 → Public Hostname 標籤

  4. 點 Add a public hostname

  5. 填寫配置:

    • Subdomain: 比如 proxy

    • Domain: 選你的主域名

    • Service TypeHTTP 或 HTTPS

    • URLlocalhost:8001(你服務的內網地址和端口)

  6. 保存 → 幾秒生效

    圖片


⚠️ 常見問題:Service URL 填的是服務器內部地址,不是公網地址。

因為流量已經通過隧道進到服務器了,只需要指定本地端口即可。

如果填成了域名,會導致循環跳轉。


六、常見問題

Q:子域名生效需要等待多久?
Cloudflare 的 DNS 通常在幾秒到幾分鐘內生效,不需要等待 24 小時。


Q:子域名數量有限制嗎?
Cloudflare 免費版提供 1000 條 DNS 記錄,對個人項目來說完全夠用。


Q:域名註冊費用包含什麼?
註冊費是主域名的使用權費用。購買主域名後,可以免費創建任意數量的子域名


Q:更換主域名複雜嗎?
在 Cloudflare 添加新域名,重新配置 tunnel 的 hostname 映射。

服務器端主要是修改環境變量(如 Django 的 ALLOWED_HOSTS 和 CSRF_TRUSTED_ORIGINS),以及前端代碼中硬編碼的 URL。

通常半天可以完成。


Q:不同子域名會被搜索引擎視為同一個站點嗎?
不會。搜索引擎將不同子域名視為獨立站點,權重分別計算。

如果不希望某個子域名被索引,可以通過 robots.txt 屏蔽。


Q:子域名之間會共享 cookie 嗎?
默認不會。但如果設置 cookie 時指定了 domain=.example.com(注意前面的點),則所有子域名都可以訪問該 cookie。

這適合做單點登錄,但也意味着一個子域名的安全問題可能影響到其他子域名


Q:一個子域名出問題會影響其他子域名嗎?
不會。子域名在技術上是獨立的,一個被屏蔽或攻擊不會直接影響其他子域名。


Q:Cloudflare Tunnel 的可靠性如何?
cloudflared 進程是單點,如果它停止運行,所有通過它的站點都會下線。

建議用 systemd 或 Docker 設置自動重啓,或者配置 Tunnel Replicas 實現冗餘。


Q:子域名和子路徑該如何選擇?

  • 子域名(如 admin.example.com):適合獨立部署、獨立品牌

  • 子路徑(如 example.com/blog):適合集中 SEO 權重、業務緊密相關

對於代理站這種相對獨立的服務,子域名更合適。


Q:可以使用通配符子域名嗎?
可以。Cloudflare Tunnel 支持通配符配置(如 *.example.com),適合需要動態子域名的場景(比如多租户 SaaS)。

免費版的通配符 SSL 證書支持一級子域名。


七、什麼時候需要購買新域名

雖然子域名可以解決大部分問題,但以下幾種情況還是建議購買獨立的主域名:

目標市場不同
面向不同國家或地區的產品,使用對應的頂級域名(如 .jp.cn)可以提升本地用戶的信任度。

業務性質差異大
如果兩個業務的定位、受眾完全不同,使用獨立域名更合適。

法律和合規要求
不同法律主體的業務,或者存在合規風險的業務,應該使用獨立域名隔離。

未來可能出售
獨立域名更容易作為資產打包出售。

💡 除了這些特殊情況,一個主域名 + 子域名 + Cloudflare Tunnel 的組合可以滿足絕大多數個人項目的需求,既節省成本,又便於管理。