pub struct ProxyConfig {
pub http_url: String,
pub https_url: String,
pub no_proxy: Vec<String>,
}Expand description
Where this server’s own outbound HTTP goes.
Process-wide, so deliberately absent from PROFILE_SECTIONS: egress is a
property of the network position the process runs in, not of one of the ACME
endpoints it serves. Two profiles cannot reach the internet differently.
There is no enabled key either — the presence of a URL is the switch, the
same shape as ipam.backend = "" and an unset dns.resolver. Every key
empty (the default) means every connection dials the origin directly.
Each key falls back to its conventional environment variable when left
empty; the precedence and the one variable deliberately not read are
documented on crate::proxy::OutboundProxies::from_config.
Fields§
§http_url: StringProxy for http:// targets, e.g. http://proxy.corp:3128.
Falls back to $http_proxy. Cleartext to the proxy itself: an
https:// value is a startup error rather than a second TLS layer
nobody configured a trust anchor for.
https_url: StringProxy for https:// targets, reached by CONNECT.
Falls back to $https_proxy, then $HTTPS_PROXY. Normally the same
http://proxy.corp:3128 as http_url: this names the proxy used for
https targets, not a proxy spoken to over https.
Set independently of http_url on purpose — an estate that proxies only
its TLS egress is ordinary, and the silent version of that (“it worked
for http and did nothing for https”) is what separate keys prevent.
no_proxy: Vec<String>Targets that bypass the proxy: *, a domain, .domain, an address or a
CIDR block.
Falls back to $no_proxy, then $NO_PROXY. Loopback and localhost
are bypassed unconditionally and need no entry here.
Trait Implementations§
Source§impl Clone for ProxyConfig
impl Clone for ProxyConfig
Source§fn clone(&self) -> ProxyConfig
fn clone(&self) -> ProxyConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProxyConfig
impl Debug for ProxyConfig
Source§impl Default for ProxyConfig
impl Default for ProxyConfig
Source§fn default() -> ProxyConfig
fn default() -> ProxyConfig
Source§impl<'de> Deserialize<'de> for ProxyConfigwhere
ProxyConfig: Default,
impl<'de> Deserialize<'de> for ProxyConfigwhere
ProxyConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ProxyConfig
impl RefUnwindSafe for ProxyConfig
impl Send for ProxyConfig
impl Sync for ProxyConfig
impl Unpin for ProxyConfig
impl UnsafeUnpin for ProxyConfig
impl UnwindSafe for ProxyConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more