文件
一個 專案

acme_server

一個嵌入式的 ACME 協議 伺服器處理器。這允許 Caddy 實例為任何其他相容 ACME 的軟體 (包括其他 Caddy 實例) 頒發憑證。

啟用後,符合路徑 /acme/* 的請求將由 ACME 伺服器處理。

客戶端配置

使用 ACME 伺服器預設值,ACME 客戶端應簡單地配置為使用 https://127.0.0.1/acme/local/directory 作為其 ACME 端點。(local 是 Caddy 預設 CA 的 ID。)

語法

acme_server [<matcher>] {
	ca         <id>
	lifetime   <duration>
	resolvers  <resolvers...>
	challenges <challenges...>
	allow_wildcard_names
	allow {
		domains <domains...>
		ip_ranges <addresses...>
	}
	deny {
		domains <domains...>
		ip_ranges <addresses...>
	}
}
  • ca 指定用於簽署憑證的憑證授權單位 ID。預設值為 local,這是 Caddy 的預設 CA,旨在用於本地使用的自簽憑證,這在開發環境中最常見。為了更廣泛的使用,建議指定不同的 CA 以避免混淆。如果具有給定 ID 的 CA 尚不存在,則將會建立它。請參閱 PKI 應用程式全域選項 以配置備用 CA。

  • lifetime (預設值:12h) 是一個 持續時間,用於指定頒發的憑證的有效期限。此值必須小於用於簽署的 中繼憑證 的有效期限。除非絕對必要,否則不建議更改此值。

  • resolvers 是 DNS 解析器的位址,用於在查找 TXT 記錄以解決 ACME DNS 質詢時使用。接受 網路位址,預設為 UDP 和 53 端口,除非另有指定。如果主機是 IP 位址,它將被直接撥號以解析上游伺服器。如果主機不是 IP 位址,則使用 Go 標準函式庫的 名稱解析慣例 解析位址。如果指定了多個解析器,則會隨機選擇一個。

  • challenges 設定啟用的質詢類型。如果未設定或指令未使用值,則會啟用所有質詢類型。接受的值為:http-01、tls-alpn-01、dns-01。

  • allow_wildcard_names 啟用頒發具有萬用字元 SAN (主體別名) 的憑證

  • allowdeny 配置 acme_server 的操作策略。策略評估遵循 Step-CA 此處 描述的標準。

    • domains 根據策略評估標準設定允許或拒絕的主體網域名稱。

    • ip_ranges 根據策略評估標準設定允許或拒絕的主體 IP 範圍。

範例

若要在網域 acme.example.com 上使用 ID home 服務 ACME 伺服器,並透過 pki 全域選項 自訂 CA,並使用 internal 簽發者頒發自己的憑證

{
	pki {
		ca home {
			name "My Home CA"
		}
	}
}

acme.example.com {
	tls {
		issuer internal {
			ca home
		}
	}
	acme_server {
		ca home
	}
}

如果您有另一個 Caddy 伺服器,它可以使用上述 ACME 伺服器來頒發自己的憑證

{
	acme_ca https://acme.example.com/acme/home/directory
	acme_ca_root /path/to/home_ca_root.crt
}

example.com {
	respond "Hello, world!"
}