Skip to content

Commit 1436b8b

Browse files
committed
minor #18157 Suggest settings trusted proxies via env var for more traditional infrastructure (pyrech)
This PR was squashed before being merged into the 5.4 branch. Discussion ---------- Suggest settings trusted proxies via env var for more traditional infrastructure Looking at the first .env suggestion from the article could be dangerous if one does not see it's from the chapter explaining how to trust all proxies. Commits ------- d7adb14 Suggest settings trusted proxies via env var for more traditional infrastructure
2 parents d86b238 + d7adb14 commit 1436b8b

File tree

1 file changed

+16
-17
lines changed

1 file changed

+16
-17
lines changed

deployment/proxies.rst

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,22 @@ and what headers your reverse proxy uses to send information:
8888
to trust all "X-Forwarded-" headers, but that constant is deprecated since
8989
Symfony 5.2 in favor of the individual ``HEADER_X_FORWARDED_*`` constants.
9090

91+
.. tip::
92+
93+
You can set a ``TRUSTED_PROXIES`` env var to configure proxies on a per-environment basis:
94+
95+
.. code-block:: bash
96+
97+
# .env
98+
TRUSTED_PROXIES=127.0.0.1,10.0.0.0/8
99+
100+
.. code-block:: yaml
101+
102+
# config/packages/framework.yaml
103+
framework:
104+
# ...
105+
trusted_proxies: '%env(TRUSTED_PROXIES)%'
106+
91107
.. caution::
92108

93109
Enabling the ``Request::HEADER_X_FORWARDED_HOST`` option exposes the
@@ -136,23 +152,6 @@ That's it! It's critical that you prevent traffic from all non-trusted sources.
136152
If you allow outside traffic, they could "spoof" their true IP address and
137153
other information.
138154

139-
.. tip::
140-
141-
In applications using :ref:`Symfony Flex <symfony-flex>` you can set the
142-
``TRUSTED_PROXIES`` env var:
143-
144-
.. code-block:: bash
145-
146-
# .env
147-
TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR
148-
149-
.. code-block:: yaml
150-
151-
# config/packages/framework.yaml
152-
framework:
153-
# ...
154-
trusted_proxies: '%env(TRUSTED_PROXIES)%'
155-
156155
If you are also using a reverse proxy on top of your load balancer (e.g.
157156
`CloudFront`_), calling ``$request->server->get('REMOTE_ADDR')`` won't be
158157
enough, as it will only trust the node sitting directly above your application

0 commit comments

Comments
 (0)