mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 20:46:11 +02:00
MEDIUM: backend: reuse connection if using a static sni
Detect if the sni used a constant value and if so, allow to reuse this connection for later sessions. Use a combination of SMP_USE_INTRN + !SMP_F_VOLATILE to consider a sample as a constant value. This features has been requested on github issue #371.
This commit is contained in:
parent
2f0a797631
commit
7239c24986
@ -6646,8 +6646,9 @@ http-reuse { never | safe | aggressive | always }
|
||||
- connections made with "usesrc" followed by a client-dependent value
|
||||
("client", "clientip", "hdr_ip") are marked private and never shared;
|
||||
|
||||
- connections sent to a server with a TLS SNI extension are marked private
|
||||
and are never shared;
|
||||
- connections sent to a server with a variable value as TLS SNI extension
|
||||
are marked private and are never shared. This is not the case if the SNI
|
||||
is guaranteed to be a constant, as for example using a literal string;
|
||||
|
||||
- connections with certain bogus authentication schemes (relying on the
|
||||
connection) like NTLM are detected, marked private and are never shared;
|
||||
|
||||
@ -1521,7 +1521,10 @@ int connect_server(struct stream *s)
|
||||
srv->ssl_ctx.sni, SMP_T_STR);
|
||||
if (smp_make_safe(smp)) {
|
||||
ssl_sock_set_servername(srv_conn, smp->data.u.str.area);
|
||||
conn_set_private(srv_conn);
|
||||
if (!(srv->ssl_ctx.sni->fetch->use & SMP_USE_INTRN) ||
|
||||
smp->flags & SMP_F_VOLATILE) {
|
||||
conn_set_private(srv_conn);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* USE_OPENSSL */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user