Skip to content

Commit fc328b4

Browse files
Fix custom trusted proxies configuration (#104)
1 parent 667d8a1 commit fc328b4

4 files changed

+9
-2
lines changed

src/LaravelHttpHandler.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ class LaravelHttpHandler extends HttpHandler
2121
public function __construct(Kernel $kernel)
2222
{
2323
$this->kernel = $kernel;
24+
25+
Request::setTrustedProxies(['127.0.0.1'], Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO);
2426
}
2527

2628
public function handleRequest(HttpRequestEvent $event, Context $context): HttpResponse

src/SymfonyHttpHandler.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Bref\Event\Http\HttpHandler;
77
use Bref\Event\Http\HttpRequestEvent;
88
use Bref\Event\Http\HttpResponse;
9+
use Symfony\Component\HttpFoundation\Request;
910
use Symfony\Component\HttpKernel\HttpKernelInterface;
1011
use Symfony\Component\HttpKernel\TerminableInterface;
1112

@@ -21,6 +22,8 @@ class SymfonyHttpHandler extends HttpHandler
2122
public function __construct(HttpKernelInterface $kernel)
2223
{
2324
$this->kernel = $kernel;
25+
26+
Request::setTrustedProxies(['127.0.0.1'], Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO);
2427
}
2528

2629
public function handleRequest(HttpRequestEvent $event, Context $context): HttpResponse

src/SymfonyRequestBridge.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ class SymfonyRequestBridge
2222
{
2323
public static function convertRequest(HttpRequestEvent $event, Context $context): Request
2424
{
25-
Request::setTrustedProxies(['127.0.0.1'], Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO);
26-
2725
// CGI Version 1.1 - Section 4.1
2826
$server = array_filter([
2927
'AUTH_TYPE' => $event->getHeaders()['auth-type'] ?? null, // 4.1.1

tests/SymfonyRequestBridgeTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use PHPUnit\Framework\TestCase;
88
use Runtime\Bref\SymfonyRequestBridge;
99
use Symfony\Component\HttpFoundation\File\UploadedFile;
10+
use Symfony\Component\HttpFoundation\Request;
1011

1112
class SymfonyRequestBridgeTest extends TestCase
1213
{
@@ -150,6 +151,9 @@ public function testLambdaContext()
150151

151152
private function getContext()
152153
{
154+
// this is set in LaravelHttpHandler and SymfonyHttpHandler to allow overwrite of this value
155+
Request::setTrustedProxies(['127.0.0.1'], Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO);
156+
153157
return new Context('id', 1000, 'function', 'trace');
154158
}
155159
}

0 commit comments

Comments
 (0)