diff --git a/caddyconfig/httpcaddyfile/addresses.go b/caddyconfig/httpcaddyfile/addresses.go index 997405ba6..4295e50e9 100644 --- a/caddyconfig/httpcaddyfile/addresses.go +++ b/caddyconfig/httpcaddyfile/addresses.go @@ -362,16 +362,17 @@ func (st *ServerType) listenersForServerBlockAddress(sblock serverBlock, addr Ad var ip net.IP switch ifaceAddressValue := ifaceAddress.(type) { case *net.IPAddr: - ip, addrok = ifaceAddressValue.IP, true - netwok = len(ip) == net.IPv4len && caddy.IsIPv4Network(lnNetw) || len(ip) == net.IPv6len && caddy.IsIPv6Network(lnNetw) + ip, addrok, netwok = ifaceAddressValue.IP, true, true case *net.IPNet: - ip, addrok = ifaceAddressValue.IP, true - netwok = len(ip) == net.IPv4len && caddy.IsIPv4Network(lnNetw) || len(ip) == net.IPv6len && caddy.IsIPv6Network(lnNetw) + ip, addrok, netwok = ifaceAddressValue.IP, true, true case *net.TCPAddr: ip, addrok, netwok = ifaceAddressValue.IP, true, caddy.IsTCPNetwork(lnNetw) case *net.UDPAddr: ip, addrok, netwok = ifaceAddressValue.IP, true, caddy.IsUDPNetwork(lnNetw) } + if netwok { + netwok = len(ip) == net.IPv4len && caddy.IsIPv4Network(lnNetw) || len(ip) == net.IPv6len && caddy.IsIPv6Network(lnNetw) + } if addrok { if netwok { lnIfaceAddresses = append(lnIfaceAddresses, ip.String())