mirror of
https://github.com/caddyserver/caddy.git
synced 2025-10-19 07:43:17 +00:00
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
This commit is contained in:
parent
38848f7f25
commit
d9cc24f3df
2 changed files with 29 additions and 1 deletions
|
@ -15,6 +15,8 @@
|
||||||
package httpcaddyfile
|
package httpcaddyfile
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"slices"
|
||||||
|
|
||||||
"github.com/caddyserver/caddy/v2"
|
"github.com/caddyserver/caddy/v2"
|
||||||
"github.com/caddyserver/caddy/v2/caddyconfig"
|
"github.com/caddyserver/caddy/v2/caddyconfig"
|
||||||
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
|
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
|
||||||
|
@ -178,6 +180,15 @@ func (st ServerType) buildPKIApp(
|
||||||
if _, ok := options["skip_install_trust"]; ok {
|
if _, ok := options["skip_install_trust"]; ok {
|
||||||
skipInstallTrust = true
|
skipInstallTrust = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check if auto_https is off - in that case we should not create
|
||||||
|
// any PKI infrastructure even with skip_install_trust directive
|
||||||
|
autoHTTPS := []string{}
|
||||||
|
if ah, ok := options["auto_https"].([]string); ok {
|
||||||
|
autoHTTPS = ah
|
||||||
|
}
|
||||||
|
autoHTTPSOff := slices.Contains(autoHTTPS, "off")
|
||||||
|
|
||||||
falseBool := false
|
falseBool := false
|
||||||
|
|
||||||
// Load the PKI app configured via global options
|
// Load the PKI app configured via global options
|
||||||
|
@ -218,7 +229,8 @@ func (st ServerType) buildPKIApp(
|
||||||
// if there was no CAs defined in any of the servers,
|
// if there was no CAs defined in any of the servers,
|
||||||
// and we were requested to not install trust, then
|
// and we were requested to not install trust, then
|
||||||
// add one for the default/local CA to do so
|
// add one for the default/local CA to do so
|
||||||
if len(pkiApp.CAs) == 0 && skipInstallTrust {
|
// only if auto_https is not completely disabled
|
||||||
|
if len(pkiApp.CAs) == 0 && skipInstallTrust && !autoHTTPSOff {
|
||||||
ca := new(caddypki.CA)
|
ca := new(caddypki.CA)
|
||||||
ca.ID = caddypki.DefaultCAID
|
ca.ID = caddypki.DefaultCAID
|
||||||
ca.InstallTrust = &falseBool
|
ca.InstallTrust = &falseBool
|
||||||
|
|
|
@ -265,6 +265,22 @@ func (app *App) automaticHTTPSPhase1(ctx caddy.Context, repl *caddy.Replacer) er
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if all servers have auto_https disabled and no domains need certs,
|
||||||
|
// skip the rest of the TLS automation setup to avoid creating
|
||||||
|
// unnecessary PKI infrastructure and automation policies
|
||||||
|
allServersDisabled := true
|
||||||
|
for _, srv := range app.Servers {
|
||||||
|
if srv.AutoHTTPS == nil || !srv.AutoHTTPS.Disabled {
|
||||||
|
allServersDisabled = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if allServersDisabled && len(uniqueDomainsForCerts) == 0 {
|
||||||
|
logger.Debug("all servers have automatic HTTPS disabled and no domains need certificates, skipping TLS automation setup")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// we now have a list of all the unique names for which we need certs
|
// we now have a list of all the unique names for which we need certs
|
||||||
var internal, tailscale []string
|
var internal, tailscale []string
|
||||||
uniqueDomainsLoop:
|
uniqueDomainsLoop:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue