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 versions h2c 2 compression off max_conns_per_host 5 keepalive_idle_conns_per_host 2 } } } ---------- { "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 }, "max_conns_per_host": 5, "max_response_header_size": 30000000, "protocol": "http", "read_buffer_size": 10000000, "response_header_timeout": 8000000000, "versions": [ "h2c", "2" ], "write_buffer_size": 20000000 }, "upstreams": [ { "dial": "localhost:54321" } ] } ], "match": [ { "path": [ "/path" ] } ] } ] } ], "terminal": true } ] } } } } }