This commit is contained in:
Jun Kurihara 2022-07-06 05:13:09 +09:00
commit 2ab52288fd
No known key found for this signature in database
GPG key ID: 48ADFD173ED22B03
8 changed files with 8 additions and 20 deletions

View file

@ -1,7 +1,6 @@
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
@ -21,4 +20,4 @@ reverse_proxy = [
[experimental] [experimental]
h3 = true h3 = false

View file

@ -16,7 +16,6 @@ max_clients = 512
# Optional: Listen [::] # Optional: Listen [::]
listen_ipv6 = false listen_ipv6 = false
listen_only_ipv6 = false
# Optional: App that serves all plaintext http request by referring to HOSTS or request header # Optional: App that serves all plaintext http request by referring to HOSTS or request header
# execpt for configured application. # execpt for configured application.
@ -45,7 +44,7 @@ reverse_proxy = [
] }, ] },
] ]
# Optional: TLS setting. if https_port is specified and tls is true above, this must be given. # Optional: TLS setting. if https_port is specified and tls is true above, this must be given.
tls = { https_redirection = true, tls_cert_path = '/tmp/localhost.pem', tls_cert_key_path = '/tmp/localhost.pem' } tls = { https_redirection = true, tls_cert_path = 'localhost.pem', tls_cert_key_path = 'localhost.pem' }
## List of destinations to send data to. ## List of destinations to send data to.

View file

@ -12,5 +12,5 @@ services:
tty: false tty: false
privileged: true privileged: true
volumes: volumes:
- ./localhost.pem:/tmp/localhost.pem:ro - ./example-certs:/tmp/certs:ro
- ./config-example.toml:/etc/rpxy.toml:ro - ./config-example.toml:/etc/rpxy.toml:ro

View file

@ -39,20 +39,11 @@ pub fn parse_opts(globals: &mut Globals, backends: &mut Backends) -> Result<()>
}, },
anyhow!("Wrong port spec.") anyhow!("Wrong port spec.")
); );
let mut listen_addresses: Vec<&str> = Vec::new(); let mut listen_addresses: Vec<&str> = LISTEN_ADDRESSES_V4.to_vec();
if let Some(v) = config.listen_only_ipv6 { if let Some(v) = config.listen_ipv6 {
if v {
listen_addresses.extend(LISTEN_ADDRESSES_V6.iter());
} else {
listen_addresses.extend(LISTEN_ADDRESSES_V4.iter());
}
} else if let Some(v) = config.listen_ipv6 {
listen_addresses.extend(LISTEN_ADDRESSES_V4.iter());
if v { if v {
listen_addresses.extend(LISTEN_ADDRESSES_V6.iter()); listen_addresses.extend(LISTEN_ADDRESSES_V6.iter());
} }
} else {
listen_addresses.extend(LISTEN_ADDRESSES_V4.iter());
} }
globals.listen_sockets = listen_addresses globals.listen_sockets = listen_addresses
.iter() .iter()

View file

@ -8,7 +8,6 @@ pub struct ConfigToml {
pub listen_port: Option<u16>, pub listen_port: Option<u16>,
pub listen_port_tls: Option<u16>, pub listen_port_tls: Option<u16>,
pub listen_ipv6: Option<bool>, pub listen_ipv6: Option<bool>,
pub listen_only_ipv6: Option<bool>,
pub max_concurrent_streams: Option<u32>, pub max_concurrent_streams: Option<u32>,
pub max_clients: Option<u32>, pub max_clients: Option<u32>,
pub apps: Option<Apps>, pub apps: Option<Apps>,

View file

@ -69,7 +69,7 @@ fn main() {
apps: HashMap::<String, Backend>::default(), apps: HashMap::<String, Backend>::default(),
}; };
let _ = parse_opts(&mut globals, &mut backends).expect("Invalid configuration"); parse_opts(&mut globals, &mut backends).expect("Invalid configuration");
entrypoint(Arc::new(globals), Arc::new(backends)) entrypoint(Arc::new(globals), Arc::new(backends))
.await .await

View file

@ -249,7 +249,7 @@ fn remove_connection_header(headers: &mut HeaderMap) {
} }
fn remove_hop_header(headers: &mut HeaderMap) { fn remove_hop_header(headers: &mut HeaderMap) {
let _ = HOP_HEADERS.iter().for_each(|key| { HOP_HEADERS.iter().for_each(|key| {
headers.remove(*key); headers.remove(*key);
}); });
} }

View file

@ -19,7 +19,7 @@ where
for (server_name, backend) in self.backends.apps.iter() { for (server_name, backend) in self.backends.apps.iter() {
if backend.tls_cert_key_path.is_some() && backend.tls_cert_path.is_some() { if backend.tls_cert_key_path.is_some() && backend.tls_cert_path.is_some() {
if let Err(_e) = backend.update_server_config().await { if let Err(_e) = backend.update_server_config().await {
warn!("Failed to update certs for {}", server_name); warn!("Failed to update certs for {}: {}", server_name, _e);
} }
} }
} }