summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/reverseproxy/upstreams.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/caddyhttp/reverseproxy/upstreams.go')
-rw-r--r--modules/caddyhttp/reverseproxy/upstreams.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/caddyhttp/reverseproxy/upstreams.go b/modules/caddyhttp/reverseproxy/upstreams.go
index 3b58b8d..f788dad 100644
--- a/modules/caddyhttp/reverseproxy/upstreams.go
+++ b/modules/caddyhttp/reverseproxy/upstreams.go
@@ -7,6 +7,7 @@ import (
"net"
"net/http"
"strconv"
+ "strings"
"sync"
"time"
@@ -372,7 +373,14 @@ func (u *UpstreamResolver) ParseAddresses() error {
for _, v := range u.Addresses {
addr, err := caddy.ParseNetworkAddress(v)
if err != nil {
- return err
+ // If a port wasn't specified for the resolver,
+ // try defaulting to 53 and parse again
+ if strings.Contains(err.Error(), "missing port in address") {
+ addr, err = caddy.ParseNetworkAddress(v + ":53")
+ }
+ if err != nil {
+ return err
+ }
}
if addr.PortRangeSize() != 1 {
return fmt.Errorf("resolver address must have exactly one address; cannot call %v", addr)