pub struct ConnectionInfo {
pub id: usize,
pub client_ip: Option<String>,
pub remote_addr: Option<String>,
pub remote_port: Option<u16>,
pub server_addr: Option<String>,
pub server_port: Option<u16>,
pub tls_version: Option<Cow<'static, str>>,
pub tls_cipher: Option<Cow<'static, str>>,
pub ja4: Option<Arc<Ja4Fingerprint>>,
pub tls_client_cert: Option<Arc<TlsClientCert>>,
pub reused: bool,
}Expand description
Information about a single client connection.
Fields§
§id: usizeA unique identifier for the connection.
client_ip: Option<String>The IP address of the client.
remote_addr: Option<String>The remote address of the client connection.
remote_port: Option<u16>The remote port of the client connection.
server_addr: Option<String>The server address the client connected to.
server_port: Option<u16>The server port the client connected to.
tls_version: Option<Cow<'static, str>>The TLS version used for the connection, if any.
Stored as Cow<'static, str> so values borrowed from pingora’s
SslDigest (usually &'static str) do not allocate per request.
tls_cipher: Option<Cow<'static, str>>The TLS cipher used for the connection, if any.
ja4: Option<Arc<Ja4Fingerprint>>The JA4 fingerprint of the client’s ClientHello, when the server collects it. Shared by every request on the connection.
tls_client_cert: Option<Arc<TlsClientCert>>The certificate the client presented in the TLS handshake, on a
server that asks for one (tls_client_ca). It was verified
against that CA: a certificate that does not verify ends the
handshake. Shared by every request on the connection.
reused: boolIndicates whether the connection was reused (e.g., HTTP keep-alive).