Project

General

Profile

Actions

Feature #3191

closed

Evaluation of remote_addr for mod_maxminddb for multiplexed connections

Added by fstelzer about 2 years ago. Updated about 2 years ago.

Status:
Fixed
Priority:
Normal
Category:
mod_extforward
Target version:
ASK QUESTIONS IN Forums:
No

Description

It seems like I have hit 2 different but similar bugs within lighttpd/modules.
I run lighttpd as a backend behind a loadbalancer that does connection pooling / multiplexing.

1.
When only doing http/1 on the backend connections I get the correct remote_addr for every request even though the connection is reused by the loadbalancer.
When enabling http/2 for the backend, mod_extforward seems to only re-evaluate the x-forwarded-for header once for every new connection.
I see multiple requests with a different header values give me the same REMOTE_ADDR (usually the one from the first request / when the connection was set up).

2. mod_maxminddb seems to have a similar behaviour of not re-evaluating the remote_addr for muliple requests on the same pooled connection. In this case it to happens for both http/1 and http/2


Related issues 1 (0 open1 closed)

Related to Feature #3192: RFE: mod_extforward and multiplexed requests via HTTP/2FixedActions

Added by gstrauss about 2 years ago

Revision 02dce5e2 (diff)

[mod_maxminddb] check remote IP each request (fixes #3191)

Many load balancers have options to reuse the same connection for
multiple clients, so check remote IP each request to detect if remote IP
has changed for a subsequent requests on the same connection, e.g. due
to mod_extforward.

x-ref:
"Evaluation of remote_addr for mod_maxminddb for multiplexed connections"
https://redmine.lighttpd.net/issues/3191

Actions

Also available in: Atom