@@ -418,18 +418,6 @@ protected function fetch(Request $request, $catch = false)
418
418
$ subRequest ->headers ->remove ('if_modified_since ' );
419
419
$ subRequest ->headers ->remove ('if_none_match ' );
420
420
421
- // modify the X-Forwarded-For header if needed
422
- $ forwardedFor = $ subRequest ->headers ->get ('X-Forwarded-For ' );
423
- if ($ forwardedFor ) {
424
- $ subRequest ->headers ->set ('X-Forwarded-For ' , $ forwardedFor .', ' .$ subRequest ->server ->get ('REMOTE_ADDR ' ));
425
- } else {
426
- $ subRequest ->headers ->set ('X-Forwarded-For ' , $ subRequest ->server ->get ('REMOTE_ADDR ' ));
427
- }
428
-
429
- // fix the client IP address by setting it to 127.0.0.1 as HttpCache
430
- // is always called from the same process as the backend.
431
- $ subRequest ->server ->set ('REMOTE_ADDR ' , '127.0.0.1 ' );
432
-
433
421
$ response = $ this ->forward ($ subRequest , $ catch );
434
422
435
423
if ($ this ->isPrivateRequest ($ request ) && !$ response ->headers ->hasCacheControlDirective ('public ' )) {
@@ -460,6 +448,18 @@ protected function forward(Request $request, $catch = false, Response $entry = n
460
448
$ this ->esi ->addSurrogateEsiCapability ($ request );
461
449
}
462
450
451
+ // modify the X-Forwarded-For header if needed
452
+ $ forwardedFor = $ request ->headers ->get ('X-Forwarded-For ' );
453
+ if ($ forwardedFor ) {
454
+ $ request ->headers ->set ('X-Forwarded-For ' , $ forwardedFor .', ' .$ request ->server ->get ('REMOTE_ADDR ' ));
455
+ } else {
456
+ $ request ->headers ->set ('X-Forwarded-For ' , $ request ->server ->get ('REMOTE_ADDR ' ));
457
+ }
458
+
459
+ // fix the client IP address by setting it to 127.0.0.1 as HttpCache
460
+ // is always called from the same process as the backend.
461
+ $ request ->server ->set ('REMOTE_ADDR ' , '127.0.0.1 ' );
462
+
463
463
// always a "master" request (as the real master request can be in cache)
464
464
$ response = $ this ->kernel ->handle ($ request , HttpKernelInterface::MASTER_REQUEST , $ catch );
465
465
// FIXME: we probably need to also catch exceptions if raw === true
0 commit comments