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 {
// 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...)

View File

@ -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: