diff options
-rw-r--r-- | caddyconfig/httpcaddyfile/httptype.go | 2 | ||||
-rw-r--r-- | modules/caddyhttp/matchers.go | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/caddyconfig/httpcaddyfile/httptype.go b/caddyconfig/httpcaddyfile/httptype.go index 32791e9..4588b8f 100644 --- a/caddyconfig/httpcaddyfile/httptype.go +++ b/caddyconfig/httpcaddyfile/httptype.go @@ -268,7 +268,7 @@ func (st *ServerType) serversFromPairings( } if _, ok := sblock.pile["tls.off"]; ok { // tls off: disable TLS (and automatic HTTPS) for server block's names - if srv.AutoHTTPS == nil { + if srv.AutoHTTPS == nil && len(autoHTTPSQualifiedHosts) > 0 { srv.AutoHTTPS = new(caddyhttp.AutoHTTPSConfig) } srv.AutoHTTPS.Skip = append(srv.AutoHTTPS.Skip, autoHTTPSQualifiedHosts...) diff --git a/modules/caddyhttp/matchers.go b/modules/caddyhttp/matchers.go index 9cf52dc..3eaf48f 100644 --- a/modules/caddyhttp/matchers.go +++ b/modules/caddyhttp/matchers.go @@ -112,6 +112,10 @@ func (m MatchHost) Match(r *http.Request) bool { if err != nil { // OK; probably didn't have a port reqHost = r.Host + + // make sure we strip the brackets from IPv6 addresses + reqHost = strings.TrimPrefix(reqHost, "[") + reqHost = strings.TrimSuffix(reqHost, "]") } outer: |