跳至主要内容

網域 (Domain) 與 DNS 設定指南

在 Homelab 中,不管是使用反向代理 (Reverse Proxy) 轉發流量,還是申請 Let's Encrypt SSL 憑證與配置 OIDC/Passkey 身分驗證,網域名稱 (Domain Name) 都是不可或缺的核心基底。


為什麼 Homelab 需要網域?​

  1. 取代難記且變動的 IP:將 192.168.1.10:8123 轉換為易記的 ha.yourdomain.com。
  2. 申請合法 SSL/TLS 憑證:Let's Encrypt 等憑證頒發機構需要驗證網域所有權,才能為你的服務加上 https:// 安全鎖頭。
  3. 支援 Passkey 認證:Passkey / WebAuthn 規範嚴格綁定有效網域名稱,無法直接在純 IP 環境下註冊與使用。

兩種網域取得方案​

方案 A:免費動態網域 (DuckDNS)​

若剛開始接觸 Homelab 不想花錢購買網域,DuckDNS 是最受歡迎的免費動態 DNS (DDNS) 服務:

  • 特色:完全免費,可自訂子網域名稱(例如 myhomelab.duckdns.org)。
  • 運作機制:透過簡單的腳本或 Docker 容器定期向 DuckDNS 回傳家中當前 Public IP,隨時保持網域名稱指向正確。
  • 限制:無法自訂根網域,且部分進階網路防護功能受限。

方案 B:購買頂級網域 + 託管於 Cloudflare(強烈推薦)​

若希望建立長期、穩定且具備個人品牌的 Homelab,建議自行購買頂級網域(如 .com、.xyz 或 .top),並大力推薦所有的 DNS 管理都統一使用 Cloudflare:

  • Cloudflare Registrar 原價購買:Cloudflare 本身即提供網域購買服務 (Cloudflare Registrar),以 ICANN 批發成本價販售(零中間商加價,續約不惡意漲價)。
  • 為什麼推薦 Cloudflare?
    1. 免費全功能 DNS:全球解析速度最快的 Anycast DNS,支援秒級生效。
    2. DNS-01 憑證挑戰(免開 Port 80/443):如同 Wolfgang's Channel 教學影片 所介紹,利用 Cloudflare API Token,Nginx Proxy Manager 能在完全不對外暴露 Port 80/443 的情況下,為內網服務直接申請與自動續約合法 Wildcard 萬用憑證 (*.yourdomain.com)。
    3. Cloudflare Tunnel:免除家中無固定 IP、無公網 IP (CGNAT) 或不能設定 Port Forwarding 的限制,直接將內網服務安全穿透至外網。
    4. DDoS 防護與 CDN:免費隱藏真實主機 IP。

Cloudflare DNS-01 API Token 取得步驟​

若要讓 Nginx Proxy Manager 自動透過 Cloudflare 申請憑證:

  1. 登入 Cloudflare 後台,點選右上角頭像 -> My Profile -> API Tokens。
  2. 點擊 Create Token,選擇 Edit zone DNS 範本。
  3. 設定權限:
    • Permissions:Zone - DNS - Edit、Zone - Zone - Read
    • Zone Resources:Include - Specific zone - 選取你的網域
  4. 點擊 Continue to summary 並產生 Token。
  5. 複製生成的 Token 字串,即可在 Nginx Proxy Manager 申請憑證時填入使用。

相關連結​