diff options
| -rw-r--r-- | caddytest/integration/caddyfile_adapt/reverse_proxy_empty_non_http_transport.txt | 36 | ||||
| -rw-r--r-- | modules/caddyhttp/reverseproxy/caddyfile.go | 4 | 
2 files changed, 39 insertions, 1 deletions
diff --git a/caddytest/integration/caddyfile_adapt/reverse_proxy_empty_non_http_transport.txt b/caddytest/integration/caddyfile_adapt/reverse_proxy_empty_non_http_transport.txt new file mode 100644 index 0000000..b261803 --- /dev/null +++ b/caddytest/integration/caddyfile_adapt/reverse_proxy_empty_non_http_transport.txt @@ -0,0 +1,36 @@ +:8884 + +reverse_proxy 127.0.0.1:65535 { +    transport fastcgi +} +---------- +{ +	"apps": { +		"http": { +			"servers": { +				"srv0": { +					"listen": [ +						":8884" +					], +					"routes": [ +						{ +							"handle": [ +								{ +									"handler": "reverse_proxy", +									"transport": { +										"protocol": "fastcgi" +									}, +									"upstreams": [ +										{ +											"dial": "127.0.0.1:65535" +										} +									] +								} +							] +						} +					] +				} +			} +		} +	} +} diff --git a/modules/caddyhttp/reverseproxy/caddyfile.go b/modules/caddyhttp/reverseproxy/caddyfile.go index 4ffedf2..1d00cbf 100644 --- a/modules/caddyhttp/reverseproxy/caddyfile.go +++ b/modules/caddyhttp/reverseproxy/caddyfile.go @@ -561,7 +561,9 @@ func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {  		} else if commonScheme == "https" {  			return d.Errf("upstreams are configured for HTTPS but transport module does not support TLS: %T", transport)  		} -		if !reflect.DeepEqual(transport, reflect.New(reflect.TypeOf(transport).Elem()).Interface()) { + +		// no need to encode empty default transport +		if !reflect.DeepEqual(transport, new(HTTPTransport)) {  			h.TransportRaw = caddyconfig.JSONModuleObject(transport, "protocol", transportModuleName, nil)  		}  	}  | 
