77 lines
2.8 KiB
TOML
77 lines
2.8 KiB
TOML
########################################
|
|
# #
|
|
# rust-rxpy configuration #
|
|
# #
|
|
########################################
|
|
###################################
|
|
# Global settings #
|
|
###################################
|
|
# Both or either one of http/https ports must be specified
|
|
listen_port = 8080
|
|
listen_port_tls = 8443
|
|
|
|
# Optional for h2 and http1.1
|
|
max_concurrent_streams = 100
|
|
|
|
# Optional. Counted in total for http1.1, 2, 3
|
|
max_clients = 512
|
|
|
|
# Optional: Listen [::]
|
|
listen_ipv6 = false
|
|
|
|
# Optional: App that serves all plaintext http request by referring to HOSTS or request header
|
|
# execpt for configured application.
|
|
# Note that this is only for http.
|
|
# Note that nothing is served for requests via https since secure channel cannot be
|
|
# established for unconfigured server_name, and they are always rejected by checking SNI.
|
|
default_app = 'another_localhost'
|
|
|
|
###################################
|
|
# Backend settings #
|
|
###################################
|
|
[application]
|
|
|
|
[apps.localhost]
|
|
server_name = 'localhost'
|
|
reverse_proxy = [
|
|
# default destination if path is not specified
|
|
# Array for load balancing
|
|
{ upstream = [
|
|
{ location = 'www.yahoo.com', tls = true },
|
|
{ location = 'www.yahoo.co.jp', tls = true },
|
|
], upstream_options = [
|
|
"override_host",
|
|
] },
|
|
{ path = '/maps', upstream = [
|
|
{ location = 'www.bing.com', tls = true },
|
|
{ location = 'www.bing.co.jp', tls = true },
|
|
], upstream_options = [
|
|
"override_host",
|
|
"upgrade_insecure_requests",
|
|
] },
|
|
]
|
|
# Optional: TLS setting. if https_port is specified and tls is true above, this must be given.
|
|
tls = { https_redirection = true, tls_cert_path = '/certs/localhost.crt', tls_cert_key_path = '/certs/localhost.key' } # for docker volume mounted certs
|
|
#tls = { https_redirection = true, tls_cert_path = './localhost.crt', tls_cert_key_path = './localhost.key' } # for local
|
|
|
|
|
|
## List of destinations to send data to.
|
|
## At this point, round-robin is used for load-balancing if multiple URLs are specified.
|
|
# allowhosts = ['127.0.0.1', '::1', '192.168.10.0/24'] # TODO
|
|
# denyhosts = ['*'] # TODO
|
|
[apps.another_localhost]
|
|
server_name = 'localhost.localdomain'
|
|
reverse_proxy = [{ upstream = [{ location = 'www.google.com', tls = true }] }]
|
|
|
|
###################################
|
|
# Experimantal settings #
|
|
###################################
|
|
[experimental]
|
|
ignore_sni_consistency = false # Higly recommend not to be true. If true, you ignore RFC. if not specified, it is always false.
|
|
|
|
[experimental.h3] # If this specified, h3 is enabled
|
|
alt_svc_max_age = 3600 # sec
|
|
request_max_body_size = 65536 # bytes
|
|
max_concurrent_connections = 10000
|
|
max_concurrent_bidistream = 100
|
|
max_concurrent_unistream = 100
|