diff options
author | Matthew Holt <mholt@users.noreply.github.com> | 2019-09-18 09:45:21 -0600 |
---|---|---|
committer | Matthew Holt <mholt@users.noreply.github.com> | 2019-09-18 09:45:21 -0600 |
commit | bc9f9448370d7a5535b33e7407760998b4875e45 (patch) | |
tree | ca4481d3f3cd14e95d03cd0fbc4788b4191571d5 | |
parent | 4c289fc6ad3d7c2afa69e36cdf2cc9a172cb1c9c (diff) |
host matcher: Strip [ ] from IPv6 addresses
-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: |