diff options
author | Francis Lavoie <lavofr@gmail.com> | 2020-05-19 18:59:51 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-19 16:59:51 -0600 |
commit | fae064262d9c40393d634660b94d36ce6703aa1c (patch) | |
tree | e450612a8241255d7646a23ef9d1bd88c4a6fabd /caddyconfig/httpcaddyfile/httptype.go | |
parent | 9ee01dceac0a3e9f71c3b37dfbe3ae04e2f54986 (diff) |
httpcaddyfile: Add `auto_https` global option (#3284)
Diffstat (limited to 'caddyconfig/httpcaddyfile/httptype.go')
-rw-r--r-- | caddyconfig/httpcaddyfile/httptype.go | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/caddyconfig/httpcaddyfile/httptype.go b/caddyconfig/httpcaddyfile/httptype.go index 8e1ca74..fddb095 100644 --- a/caddyconfig/httpcaddyfile/httptype.go +++ b/caddyconfig/httpcaddyfile/httptype.go @@ -343,12 +343,27 @@ func (st *ServerType) serversFromPairings( if hsp, ok := options["https_port"].(int); ok { httpsPort = strconv.Itoa(hsp) } + autoHTTPS := "on" + if ah, ok := options["auto_https"].(string); ok { + autoHTTPS = ah + } for i, p := range pairings { srv := &caddyhttp.Server{ Listen: p.addresses, } + // handle the auto_https global option + if autoHTTPS != "on" { + srv.AutoHTTPS = new(caddyhttp.AutoHTTPSConfig) + if autoHTTPS == "off" { + srv.AutoHTTPS.Disabled = true + } + if autoHTTPS == "disable_redirects" { + srv.AutoHTTPS.DisableRedir = true + } + } + // sort server blocks by their keys; this is important because // only the first matching site should be evaluated, and we should // attempt to match most specific site first (host and path), in @@ -382,7 +397,7 @@ func (st *ServerType) serversFromPairings( }) var hasCatchAllTLSConnPolicy, addressQualifiesForTLS bool - autoHTTPSWillAddConnPolicy := true + autoHTTPSWillAddConnPolicy := autoHTTPS != "off" // create a subroute for each site in the server block for _, sblock := range p.serverBlocks { |