Skip to content

建立 2026-09-15 更新 2026-09-15

第一個網站

這頁用最小設定確認 Caddy 有在跑:先在本機回一段文字,再把流量轉到另一個埠。做完你就碰過自動 HTTPS 與 reverse_proxy 這兩件最常用的事。

準備一個 Caddyfile

在空目錄建立名為 Caddyfile(沒有副檔名)的檔案:

localhost {
    respond "Hello, Caddy!"
}

第一行是站台位址。寫了 localhost,Caddy 會用內部憑證授權單位(CA)簽本機 HTTPS 憑證;第一次可能請你輸入密碼,把根憑證裝進系統信任清單。這只會發生一次。

在同一目錄執行:

caddy run

瀏覽器開 https://localhost,或:

curl -v https://localhost

應看到 Hello, Caddy!。若瀏覽器抱怨憑證,多半是根憑證還沒被信任,或要用 curl -k 略過驗證(僅限本機除錯)。

結束時在執行 caddy run 的終端機按 Ctrl+C。若當初是 caddy start 丟到背景,用 caddy stop

不用設定檔的反向代理

假設本機已有應用程式聽 127.0.0.1:9000

caddy reverse-proxy --from localhost --to :9000

省略 --from 時,預設也是 localhost 加上自動 HTTPS。這條指令適合快速試,正式環境仍建議寫進 Caddyfile,方便版本控制與重載。

等價的 Caddyfile:

localhost {
    reverse_proxy :9000
}

改檔後不要殺掉行程。另開一個終端機、同一目錄執行:

caddy reload

Caddy 會用新設定接新連線,舊連線盡量不中斷。

常見狀況

現象 原因與處理
綁定 80/443 失敗 Linux 低於 1024 的埠需要權限。用套件裝的 systemd 服務已處理;手動跑可改 :8080 等高埠,或給 binary cap_net_bind_service
憑證警告 本機 HTTPS 要信任 Caddy 的根憑證。服務以 caddy 使用者執行時,用 sudo caddy trust
caddy run 立刻結束 看終端機錯誤。Caddyfile 語法錯、埠被占用、檔案權限不足都很常見。

下一步讀 Caddyfile。公開網域請接 自動 HTTPS