設定檔轉接器
Caddy 的原生設定語言是 JSON,但手動編寫 JSON 可能既繁瑣又容易出錯。這就是為什麼 Caddy 支援透過設定檔轉接器以其他語言進行設定。它們是 Caddy 外掛程式,可以讓您使用偏好的格式設定,方法是為您輸出 Caddy JSON。
例如,設定檔轉接器可以將您的 NGINX 設定轉換為 Caddy JSON。
已知的設定檔轉接器
以下是目前可用的設定檔轉接器(有些是第三方專案)
使用設定檔轉接器
您可以在命令列上指定設定檔轉接器,方法是在大多數接受設定的子命令中使用 --adapter
標記
caddy run --config caddy.yaml --adapter yaml
或透過 API 在 /load
端點
curl localhost:2019/load \
-H "Content-Type: application/yaml" \
--data-binary @caddy.yaml
如果您只想取得輸出的 JSON 而不執行它,您可以使用 caddy adapt
命令
caddy adapt --config caddy.yaml --adapter yaml
注意事項
並非所有設定語言都 100% 與 Caddy 相容;某些功能或行為可能無法完美轉換,或尚未編程到轉接器或 Caddy 本身中。
有些轉接器進行 1 對 1 轉換,例如 YAML->JSON 或 TOML->JSON。其他轉接器專為 Caddy 設計,例如 Caddyfile。通常,這些轉接器將始終有效。
然而,並非所有轉接器始終有效。設定檔轉接器會盡力將您的輸入轉換為具有最高保真度和正確性的 Caddy JSON。由於此轉換過程無法保證始終完整且正確,因此我們不稱它們為「轉換器」或「翻譯器」。它們是「轉接器」,因為它們至少會為您提供一個良好的起點,以完成製作最終 JSON 設定。
設定檔轉接器可以輸出產生的 JSON、警告和錯誤。如果沒有錯誤發生,則會輸出 JSON 結果。當輸入有問題時(例如,語法錯誤)會發生錯誤。當轉接出現問題但並非致命問題時(例如,不支援的功能)會發出警告。如果使用透過警告轉接的設定,建議謹慎。