
https://example.com {
	reverse_proxy /path http://localhost:54321 {
		header_up Host {host}
		header_up X-Real-IP {remote}
		header_up X-Forwarded-For {remote}
		header_up X-Forwarded-Port {server_port}
		header_up X-Forwarded-Proto "http"

		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
		}
	}
}

----------
{
	"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": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Forwarded-For": [
																	"{http.request.remote}"
																],
																"X-Forwarded-Port": [
																	"{server_port}"
																],
																"X-Forwarded-Proto": [
																	"http"
																],
																"X-Real-Ip": [
																	"{http.request.remote}"
																]
															}
														}
													},
													"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,
														"versions": [
															"h2c",
															"2"
														],
														"write_buffer_size": 20000000
													},
													"upstreams": [
														{
															"dial": "localhost:54321"
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/path"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						}
					]
				}
			}
		}
	}
}
