- Add tls::config module with manual TLS mode support - Load PEM certificates and private keys via rustls_pemfile - Build ServerConfig with aws_lc_rs crypto provider - Restrict cipher suites per ADR-012 (4 TLS 1.2 ECDHE-AES-GCM + all TLS 1.3) - Configure protocol versions to TLS 1.2 and 1.3 only - Implement SniCertResolver for multi-domain manual mode - Unknown SNI hostname fails handshake (no default cert) - Add tempfile dev dependency for test file operations - Add 11 unit tests covering config, cipher suites, and SNI resolution
38 lines
894 B
TOML
38 lines
894 B
TOML
[package]
|
|
name = "reverse-proxy"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
[lib]
|
|
name = "reverse_proxy"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "reverse-proxy"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
axum = "=0.8.9"
|
|
tokio = { version = "=1.45.1", features = ["full"] }
|
|
hyper = "=1.6.0"
|
|
tower = "=0.5.2"
|
|
rustls = { version = "=0.23.28", features = ["aws_lc_rs"] }
|
|
tokio-rustls = "=0.26.2"
|
|
rustls-acme = { version = "=0.12.1", features = ["aws-lc-rs"] }
|
|
serde = { version = "=1.0.228", features = ["derive"] }
|
|
toml = "=0.8.23"
|
|
arc-swap = "=1.7.1"
|
|
tracing = "=0.1.41"
|
|
tracing-subscriber = "=0.3.19"
|
|
rustls-pemfile = "=2.2.0"
|
|
rustls-pki-types = "=1.12.0"
|
|
clap = { version = "=4.6.1", features = ["derive"] }
|
|
signal-hook = "=0.3.18"
|
|
anyhow = "=1.0.102"
|
|
thiserror = "=2.0.18"
|
|
|
|
[dev-dependencies]
|
|
rcgen = "=0.13"
|
|
reqwest = { version = "=0.12", features = ["json"] }
|
|
tempfile = "=3.20" |