2.5 KiB
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
max_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, "max_conns_per_host": 5, "max_idle_conns_per_host": 2, "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 } ] } } } } }