experimental h3 toml config support
This commit is contained in:
parent
981a81abb2
commit
7283137343
6 changed files with 29 additions and 0 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
listen_port = 8080
|
listen_port = 8080
|
||||||
# listen_port_tls = 8443
|
# listen_port_tls = 8443
|
||||||
listen_ipv6 = false
|
listen_ipv6 = false
|
||||||
|
listen_only_ipv6 = false
|
||||||
|
|
||||||
max_concurrent_streams = 128
|
max_concurrent_streams = 128
|
||||||
max_clients = 512
|
max_clients = 512
|
||||||
|
|
@ -17,3 +18,7 @@ reverse_proxy = [
|
||||||
{ upstream = [{ location = 'backend-nginx', tls = false }] },
|
{ upstream = [{ location = 'backend-nginx', tls = false }] },
|
||||||
# { upstream = [{ location = '192.168.100.100', tls = false }] },
|
# { upstream = [{ location = '192.168.100.100', tls = false }] },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
[experimental]
|
||||||
|
h3 = true
|
||||||
|
|
|
||||||
|
|
@ -55,3 +55,9 @@ tls = { https_redirection = true, tls_cert_path = 'localhost.pem', tls_cert_key_
|
||||||
[apps.another_localhost]
|
[apps.another_localhost]
|
||||||
server_name = 'localhost.localdomain'
|
server_name = 'localhost.localdomain'
|
||||||
reverse_proxy = [{ upstream = [{ location = 'www.google.com', tls = true }] }]
|
reverse_proxy = [{ upstream = [{ location = 'www.google.com', tls = true }] }]
|
||||||
|
|
||||||
|
###################################
|
||||||
|
# Experimantal settings #
|
||||||
|
###################################
|
||||||
|
[experimental]
|
||||||
|
h3 = true
|
||||||
|
|
|
||||||
|
|
@ -151,6 +151,16 @@ pub fn parse_opts(globals: &mut Globals, backends: &mut Backends) -> Result<()>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// experimental
|
||||||
|
if let Some(exp) = config.experimental {
|
||||||
|
if let Some(b) = exp.h3 {
|
||||||
|
globals.http3 = b;
|
||||||
|
if b {
|
||||||
|
info!("Experimental HTTP/3.0 is enabled. Note it is still very unstable.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,12 @@ pub struct ConfigToml {
|
||||||
pub max_clients: Option<u32>,
|
pub max_clients: Option<u32>,
|
||||||
pub apps: Option<Apps>,
|
pub apps: Option<Apps>,
|
||||||
pub default_app: Option<String>,
|
pub default_app: Option<String>,
|
||||||
|
pub experimental: Option<Experimental>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Deserialize, Debug, Default)]
|
||||||
|
pub struct Experimental {
|
||||||
|
pub h3: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Debug, Default)]
|
#[derive(Deserialize, Debug, Default)]
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ pub struct Globals {
|
||||||
pub clients_count: ClientsCount,
|
pub clients_count: ClientsCount,
|
||||||
pub max_concurrent_streams: u32,
|
pub max_concurrent_streams: u32,
|
||||||
pub keepalive: bool,
|
pub keepalive: bool,
|
||||||
|
pub http3: bool,
|
||||||
|
|
||||||
pub runtime_handle: tokio::runtime::Handle,
|
pub runtime_handle: tokio::runtime::Handle,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ fn main() {
|
||||||
listen_sockets: Vec::new(),
|
listen_sockets: Vec::new(),
|
||||||
http_port: None,
|
http_port: None,
|
||||||
https_port: None,
|
https_port: None,
|
||||||
|
http3: false,
|
||||||
timeout: Duration::from_secs(TIMEOUT_SEC),
|
timeout: Duration::from_secs(TIMEOUT_SEC),
|
||||||
max_clients: MAX_CLIENTS,
|
max_clients: MAX_CLIENTS,
|
||||||
clients_count: Default::default(),
|
clients_count: Default::default(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue