summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/caddyhttp/reverseproxy/caddyfile.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/caddyhttp/reverseproxy/caddyfile.go b/modules/caddyhttp/reverseproxy/caddyfile.go
index 491b067..47896a7 100644
--- a/modules/caddyhttp/reverseproxy/caddyfile.go
+++ b/modules/caddyhttp/reverseproxy/caddyfile.go
@@ -103,6 +103,13 @@ func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
var network, scheme, host, port string
if strings.Contains(upstreamAddr, "://") {
+ // we get a parsing error if a placeholder is specified
+ // so we return a more user-friendly error message instead
+ // to explain what to do instead
+ if strings.Contains(upstreamAddr, "{") {
+ return "", d.Err("due to parsing difficulties, placeholders are not allowed when an upstream address contains a scheme")
+ }
+
toURL, err := url.Parse(upstreamAddr)
if err != nil {
return "", d.Errf("parsing upstream URL: %v", err)