host matcher: Strip [ ] from IPv6 addresses

This commit is contained in:
Matthew Holt 2019-09-18 09:45:21 -06:00
parent 4c289fc6ad
commit bc9f944837
No known key found for this signature in database
GPG key ID: 2A349DD577D586A5
2 changed files with 5 additions and 1 deletions

View file

@ -268,7 +268,7 @@ func (st *ServerType) serversFromPairings(
} }
if _, ok := sblock.pile["tls.off"]; ok { if _, ok := sblock.pile["tls.off"]; ok {
// tls off: disable TLS (and automatic HTTPS) for server block's names // 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 = new(caddyhttp.AutoHTTPSConfig)
} }
srv.AutoHTTPS.Skip = append(srv.AutoHTTPS.Skip, autoHTTPSQualifiedHosts...) srv.AutoHTTPS.Skip = append(srv.AutoHTTPS.Skip, autoHTTPSQualifiedHosts...)

View file

@ -112,6 +112,10 @@ func (m MatchHost) Match(r *http.Request) bool {
if err != nil { if err != nil {
// OK; probably didn't have a port // OK; probably didn't have a port
reqHost = r.Host reqHost = r.Host
// make sure we strip the brackets from IPv6 addresses
reqHost = strings.TrimPrefix(reqHost, "[")
reqHost = strings.TrimSuffix(reqHost, "]")
} }
outer: outer: