0
Fork 0
mirror of https://github.com/caddyserver/caddy.git synced 2025-01-06 22:40:31 -05:00
caddy/caddytest/integration/caddyfile_adapt/reverse_proxy_options.txt
Kiss Károly Pál b6e96fa3c5
reverseproxy: Skip TLS for certain configured ports (#4843)
* Make reverse proxy TLS server name replaceable for SNI upstreams.

* Reverted previous TLS server name replacement, and implemented thread safe version.

* Move TLS servername replacement into it's own function

* Moved SNI servername replacement into httptransport.

* Solve issue when dynamic upstreams use wrong protocol upstream.

* Revert previous commit.

Old commit was: Solve issue when dynamic upstreams use wrong protocol upstream.
Id: 3c9806ccb6

* Added SkipTLSPorts option to http transport.

* Fix typo in test config file.

* Rename config option as suggested by Matt

Co-authored-by: Matt Holt <mholt@users.noreply.github.com>

* Update code to match renamed config option.

* Fix typo in config option name.

* Fix another typo that I missed.

* Tests not completing because of apparent wrong ordering of options.

Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2022-06-20 11:51:42 -06:00

2.8 KiB

https://example.com { reverse_proxy /path https://localhost:54321 { header_up Host {upstream_hostport} header_up Foo bar

	method GET
	rewrite /rewritten?uri={uri}

	buffer_requests

	transport http {
		read_buffer 10MB
		write_buffer 20MB
		max_response_header 30MB
		dial_timeout 3s
		dial_fallback_delay 5s
		response_header_timeout 8s
		expect_continue_timeout 9s
		resolvers 8.8.8.8 8.8.4.4

		versions h2c 2
		compression off
		max_conns_per_host 5
		keepalive_idle_conns_per_host 2
		keepalive_interval 30s
		renegotiation freely
		except_ports 8181 8182
	}
}

}


{ "apps": { "http": { "servers": { "srv0": { "listen": [ ":443" ], "routes": [ { "match": [ { "host": [ "example.com" ] } ], "handle": [ { "handler": "subroute", "routes": [ { "handle": [ { "buffer_requests": true, "handler": "reverse_proxy", "headers": { "request": { "set": { "Foo": [ "bar" ], "Host": [ "{http.reverse_proxy.upstream.hostport}" ] } } }, "rewrite": { "method": "GET", "uri": "/rewritten?uri={http.request.uri}" }, "transport": { "compression": false, "dial_fallback_delay": 5000000000, "dial_timeout": 3000000000, "expect_continue_timeout": 9000000000, "keep_alive": { "max_idle_conns_per_host": 2, "probe_interval": 30000000000 }, "max_conns_per_host": 5, "max_response_header_size": 30000000, "protocol": "http", "read_buffer_size": 10000000, "resolver": { "addresses": [ "8.8.8.8", "8.8.4.4" ] }, "response_header_timeout": 8000000000, "tls": { "except_ports": [ "8181", "8182" ], "renegotiation": "freely" }, "versions": [ "h2c", "2" ], "write_buffer_size": 20000000 }, "upstreams": [ { "dial": "localhost:54321" } ] } ], "match": [ { "path": [ "/path" ] } ] } ] } ], "terminal": true } ] } } } } }