diff options
Diffstat (limited to 'middleware/auto/setup.go')
-rw-r--r-- | middleware/auto/setup.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/middleware/auto/setup.go b/middleware/auto/setup.go index 7681ea957..2d397a079 100644 --- a/middleware/auto/setup.go +++ b/middleware/auto/setup.go @@ -2,6 +2,7 @@ package auto import ( "log" + "net" "os" "path" "regexp" @@ -12,6 +13,7 @@ import ( "github.com/miekg/coredns/middleware" "github.com/miekg/coredns/middleware/file" "github.com/miekg/coredns/middleware/metrics" + "github.com/miekg/coredns/middleware/proxy" "github.com/mholt/caddy" ) @@ -142,6 +144,19 @@ func autoParse(c *caddy.Controller) (Auto, error) { case "no_reload": a.loader.noReload = true + case "upstream": + args := c.RemainingArgs() + if len(args) == 0 { + return a, false, c.ArgErr() + } + for i := 0; i < len(args); i++ { + h, p, e := net.SplitHostPort(args[i]) + if e != nil && p == "" { + args[i] = h + ":53" + } + } + a.loader.Proxy = proxy.New(args) + default: t, _, e := file.TransferParse(c, false) if e != nil { |