DNS srv record support in proxy directive

I think its immaterial that there are non-standard implementations since the code uses net LookupSRV to perform the lookup and thus would depend on records being formatted per rfc 2782?

Correct me if I’m wrong but I don’t believe the code uses more than one SRV entry?

I looked through the code and was able to almost get it working but not being an expert in Caddy I couldn’t figure out why the following block of code never got anything for the addr passed to the function but the host from the configed host

func (rp *ReverseProxy) srvDialerFunc(locator string) func(network, addr string) (conn net.Conn, err error) {
service := locator
if strings.HasPrefix(locator, "srv://") {
	service = locator[6:]
} else if strings.HasPrefix(locator, "srv+https://") {
	service = locator[12:]
}
return func(network, addr string) (conn net.Conn, err error) {
	_, addrs, err := rp.srvResolver.LookupSRV(context.Background(), "", "", service)
	if err != nil {
		return nil, err
	}
	return net.Dial("tcp", fmt.Sprintf("%s:%d", addrs[0].Target, addrs[0].Port))
}

}