網域 (Domain) 與 DNS 設定指南
- 官方網站:Cloudflare / DuckDNS
- 影片參考:Wolfgang's Channel - Quick and Easy Local SSL Certificates for Your Homelab (@WolfgangsChannel)
在 Homelab 中,不管是使用反向代理 (Reverse Proxy) 轉發流量,還是申請 Let's Encrypt SSL 憑證與配置 OIDC/Passkey 身分驗證,網域名稱 (Domain Name) 都是不可或缺的核心基底。
為什麼 Homelab 需要網域?
- 取代難記且變動的 IP:將
192.168.1.10:8123轉換為易記的ha.yourdomain.com。 - 申請合法 SSL/TLS 憑證:Let's Encrypt 等憑證頒發機構需要驗證網域所有權,才能為你的服務加上
https://安全鎖頭。 - 支援 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?
- 免費全功能 DNS:全球解析速度最快的 Anycast DNS,支援秒級生效。
- DNS-01 憑證挑戰(免開 Port 80/443):如同 Wolfgang's Channel 教學影片 所介紹,利用 Cloudflare API Token,Nginx Proxy Manager 能在完全不對外暴露 Port 80/443 的情況下,為內網服務直接申請與自動續約合法 Wildcard 萬用憑證 (
*.yourdomain.com)。 - Cloudflare Tunnel:免除家中無固定 IP、無公網 IP (CGNAT) 或不能設定 Port Forwarding 的限制,直接將內網服務安全穿透至外網。
- DDoS 防護與 CDN:免費隱藏真實主機 IP。
Cloudflare DNS-01 API Token 取得步驟
若要讓 Nginx Proxy Manager 自動透過 Cloudflare 申請憑證:
- 登入 Cloudflare 後台,點選右上角頭像 -> My Profile -> API Tokens。
- 點擊 Create Token,選擇 Edit zone DNS 範本。
- 設定權限:
- Permissions:
Zone - DNS - Edit、Zone - Zone - Read - Zone Resources:
Include - Specific zone - 選取你的網域
- Permissions:
- 點擊 Continue to summary 並產生 Token。
- 複製生成的 Token 字串,即可在 Nginx Proxy Manager 申請憑證時填入使用。