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

作者:siuser小偉
日期:2026年4月18日 下午3:10
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

一個主域名加 Cloudflare Tunnel 就可以管理多個子域名,個人站長最慳錢嘅架構

整理版摘要

呢篇文章係一個有十幾個域名嘅個人站長分享嘅經驗。佢以前覺得每個產品都要獨立域名先專業,結果有啲站已經停咗但仲要繼續續費。佢反思之後發現,其實好多業務可以用一個主域名加子域名搞掂,唔使花冤枉錢。

作者用一個生動嘅比喻:服務器係一棟樓,IP 地址係樓嘅地址,主域名係招牌,子域名係房間號,Cloudflare Tunnel 就係前台帶路。關鍵係子域名完全免費、數量無限,而且互相獨立。佢推薦用 Cloudflare Tunnel 嚟做反向代理,因為唔使開端口、自動 HTTPS、有免費 DDoS 防護,仲可以隱藏真實 IP。

整體結論係:對於大多數個人項目,一個主域名 + 多個子域名 + Cloudflare Tunnel 就夠用,又安全又慳錢。除非係品牌隔離、風險隔離或者 SEO 需要,否則唔使買新域名。

  • 用一個主域名加子域名已經可以滿足大部分個人項目,慳返唔少域名續費錢。
  • Cloudflare Tunnel 自動處理 HTTPS 同 DDoS 防護,服務器唔使開放任何對外端口。
  • 子域名之間係獨立嘅,一個出問題唔會影響其他,而且免費冇數量限制。
  • 唔好盲目買新域名,除非要品牌隔離、合規隔離或者未來有出售計劃。
  • 加新子域名只需喺 Cloudflare 控制枱填幾行配置,幾秒鐘就生效,唔使改服務器設定。
整理重點

域名同子域名嘅關係:一個招牌加幾個房間號

一個主域名可以衍生無限個子域名,而且唔使額外俾錢。作者用類比解釋:服務器係一棟樓,IP 地址係樓嘅地址,主域名係樓外嘅招牌(example.com),子域名就係入面嘅房間號(shop、admin、proxy)。Cloudflare Tunnel 就係前台,負責帶訪客去啱嘅房間。

子域名數量不受限制,喺 Cloudflare 加一行 DNS 記錄就得,對服務器冇任何資源消耗。

子域名之間相互獨立,一個俾人攻擊唔會影響其他。主站用 example.com,代理站用 proxy.example.com,兩個獨立入口,共享同一伺服器。

整理重點

Cloudflare Tunnel:唔使暴露端口嘅安全方案

作者以前手動搞 SSL 續期、Nginx 反向代理、防火牆規則,仲要擔心 SSH 爆破同 DDoS。用 Cloudflare Tunnel 之後,所有麻煩嘢都慳返。

關鍵係「主動連接」:伺服器主動建立加密隧道去 Cloudflare 邊緣節點,唔需要開放任何對外端口。

呢啲優勢令到個人站長可以專注開發,唔使花時間喺維護基礎設施。

整理重點

實際部署同好處:一個伺服器,多個服務入口

最終架構係:用戶訪問 example.com 或 proxy.example.com → Cloudflare 邊緣網絡(免費 HTTPS + CDN + DDoS)→ 加密隧道 → 你嘅 VPS。VPS 入面有 cloudflared 守護進程,將流量分發到唔同端口。例如 example.com 轉去 3000 端口,proxy.example.com 轉去 8000 端口。

加新站只需喺 Cloudflare 控制枱填一行配置,唔使修改伺服器、唔使調整防火牆、唔使買新 VPS

加子域名嘅具體步驟 text
1. 打開 https://one.dash.cloudflare.com
2. 左邊菜單 Networks → Tunnels
3. 揾到你嘅 tunnel → 點入去 → Public Hostname 標籤
4. 點 Add a public hostname
5. 填寫配置:
 Subdomain: 例如 proxy
 Domain: 揀你嘅主域名
 Service Type: HTTP 或 HTTPS
 URL: localhost:8001(服務嘅內網地址同端口)
6. 保存 → 幾秒生效

Service URL 一定要填伺服器內部地址,唔好填域名,否則會循環跳轉。

整理重點

咩情況下先需要買新域名?

雖然子域名夠用,但有幾種情況建議買獨立主域名:目標市場唔同(例如 .jp、.cn)、業務性質差異大(例如定位同受眾完全唔同)、法律同合規要求(唔同法律主體或高風險業務)、將來可能出售(獨立域名易打包)。

除咗呢啲特殊情況,一個主域名加子域名加 Cloudflare Tunnel 可以滿足絕大多數個人項目。

作者提醒,子域名同子路徑嘅選擇:子域名適合獨立部署同品牌;子路徑適合集中 SEO 權重。代理站呢類相對獨立嘅服務,用子域名更合適。

圖片

一個域名夠用咩?

有位粉絲朋友喺後台問:

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

如果兩個站都喺同一部伺服器上面,而且係代理同被代理嘅關係,可唔可以共用一個域名?

我最初都係咁做,覺得一個產品就應該配一個獨立域名先顯得專業,跟住手上面就keep咗十幾個域名。

其實有幾個網站一早冇再維護,但係域名仲係keep住續費。

之後我諗咗下,其實有一啲業務,一個主域名加子域名就夠。呢篇文章我會講:

  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 port,暴露公網 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 port

  • 用戶訪問 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(你服務嘅內網地址同 port)

  6. 儲存 → 幾秒生效

    圖片


⚠️ 常見問題:Service URL 填嘅係伺服器內部地址,唔係公網地址。

因為流量已經經隧道入到伺服器,只需要指定本地 port 就得。

如果填錯咗做域名,會導致循環跳轉。


六、常見問題

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 嘅組合可以滿足絕大多數個人項目嘅需求,既慳成本,又方便管理。



圖片

一個域名夠用嗎?

有粉絲朋友後台問:

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

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

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

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

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

  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 的組合可以滿足絕大多數個人項目的需求,既節省成本,又便於管理。