mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 19:24:27 +00:00
fix(user_api_key_auth.py): log requester ip address to logs on request rejection
Closes https://github.com/BerriAI/litellm/issues/5220
This commit is contained in:
parent
0d82089136
commit
5e8a2ced04
1 changed files with 24 additions and 8 deletions
|
@ -1137,10 +1137,16 @@ async def user_api_key_auth(
|
||||||
else:
|
else:
|
||||||
raise Exception()
|
raise Exception()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
requester_ip = _get_request_ip_address(
|
||||||
|
request=request,
|
||||||
|
use_x_forwarded_for=general_settings.get("use_x_forwarded_for", False),
|
||||||
|
)
|
||||||
verbose_proxy_logger.exception(
|
verbose_proxy_logger.exception(
|
||||||
"litellm.proxy.proxy_server.user_api_key_auth(): Exception occured - {}".format(
|
"litellm.proxy.proxy_server.user_api_key_auth(): Exception occured - {}\nRequester IP Address:{}".format(
|
||||||
str(e)
|
str(e),
|
||||||
)
|
requester_ip,
|
||||||
|
),
|
||||||
|
extra={"requester_ip": requester_ip},
|
||||||
)
|
)
|
||||||
|
|
||||||
# Log this exception to OTEL
|
# Log this exception to OTEL
|
||||||
|
@ -1261,6 +1267,18 @@ def _get_user_role(
|
||||||
return role
|
return role
|
||||||
|
|
||||||
|
|
||||||
|
def _get_request_ip_address(
|
||||||
|
request: Request, use_x_forwarded_for: Optional[bool] = False
|
||||||
|
) -> str:
|
||||||
|
|
||||||
|
if use_x_forwarded_for is True and "x-forwarded-for" in request.headers:
|
||||||
|
client_ip = request.headers["x-forwarded-for"]
|
||||||
|
elif request.client is not None:
|
||||||
|
client_ip = request.client.host
|
||||||
|
|
||||||
|
return client_ip
|
||||||
|
|
||||||
|
|
||||||
def _check_valid_ip(
|
def _check_valid_ip(
|
||||||
allowed_ips: Optional[List[str]],
|
allowed_ips: Optional[List[str]],
|
||||||
request: Request,
|
request: Request,
|
||||||
|
@ -1273,11 +1291,9 @@ def _check_valid_ip(
|
||||||
return True, None
|
return True, None
|
||||||
|
|
||||||
# if general_settings.get("use_x_forwarded_for") is True then use x-forwarded-for
|
# if general_settings.get("use_x_forwarded_for") is True then use x-forwarded-for
|
||||||
client_ip = None
|
client_ip = _get_request_ip_address(
|
||||||
if use_x_forwarded_for is True and "x-forwarded-for" in request.headers:
|
request=request, use_x_forwarded_for=use_x_forwarded_for
|
||||||
client_ip = request.headers["x-forwarded-for"]
|
)
|
||||||
elif request.client is not None:
|
|
||||||
client_ip = request.client.host
|
|
||||||
|
|
||||||
# Check if IP address is allowed
|
# Check if IP address is allowed
|
||||||
if client_ip not in allowed_ips:
|
if client_ip not in allowed_ips:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue