enhance(acme): add configurable ACME profile (#39375)

Adds server-side ACME profile configuration so operators can select a
non-default ACME profile. This covers issuers such as Let's Encrypt
where raw-IP certificate issuance requires the `shortlived` profile.

Fixes: #39374
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: techknowlogick <164197+techknowlogick@users.noreply.github.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.com>
Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
Copilot
2026-09-24 10:30:25 +00:00
committed by GitHub
co-authored by copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> techknowlogick techknowlogick silverwind
parent defc9d5ca3
commit 484981fd74
3 changed files with 6 additions and 0 deletions
+1
View File
@@ -83,6 +83,7 @@ func runACME(listenAddr string, m http.Handler) error {
TrustedRoots: certPool,
Email: setting.AcmeEmail,
Agreed: setting.AcmeTOS,
Profile: setting.AcmeProfile,
DisableHTTPChallenge: !enableHTTPChallenge,
DisableTLSALPNChallenge: !enableTLSALPNChallenge,
ListenHost: setting.HTTPAddr,
+3
View File
@@ -261,6 +261,9 @@
;; Can be left blank to initialize at first run and use the cached value
;ACME_EMAIL =
;;
;; ACME profile to request from the CA (e.g. "shortlived" for raw-IP certificates)
;ACME_PROFILE =
;;
;; ACME live directory (not to be confused with ACME directory URL: ACME_URL)
;; (Refer to caddy's ACME manager https://github.com/caddyserver/certmagic)
;ACME_DIRECTORY = https
+2
View File
@@ -101,6 +101,7 @@ var (
AcmeLiveDirectory string
AcmeEmail string
AcmeURL string
AcmeProfile string
AcmeCARoot string
SSLMinimumVersion string
SSLMaximumVersion string
@@ -171,6 +172,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
Protocol = HTTPS
if EnableAcme {
AcmeURL = sec.Key("ACME_URL").MustString("")
AcmeProfile = sec.Key("ACME_PROFILE").MustString("")
AcmeCARoot = sec.Key("ACME_CA_ROOT").MustString("")
if sec.HasKey("ACME_ACCEPTTOS") {