Open Waschnick opened 2 years ago
@Waschnick thank you for posting this and for the detailed example.
I'd be open to accept a PR with tests for this as long as it's backwards compatible with the main function / we can expose a new public function getClientIpFromXForwardedFor
HI @pbojinov, @Waschnick! I created a PR to fix this issue, it would be cool if you could review it! You can fin it here: #71
Current issue
Forwarded
header is actually a complex object and not a simple IP, cf. RFC-7239for=123.34.567.89,for=192.0.2.43;by=[APIGW_IP];host=apiid.execute-api.us-east-1.amazonaws.com;proto=https
for=94.134.90.17;host=public-api.example.org;proto=https
(from our app logs)Proposed solution
getClientIpFromForwarded
similar togetClientIpFromXForwardedFor
Use Case
We are using AWS API Gateway with a private ALB (load balancer) and need the IP to use for getting the geo location. AWS API Gateway uses the
Forwarded
header for the client ip (see example 2). (And the ALB will setX-Forwarded-For
with the private class-c IP from the ALB, but that's another issue)I would also be open to contribute a PR with tests and the required changes. WDYT?
Sources