Skip to content

Commit 06a9da6

Browse files
jbtronicsjaviereguiluz
authored andcommitted
Added docs on how to configure the reverse proxy for a subfolder & Documented the usage of X-Forwared-Prefix
1 parent c8cdd53 commit 06a9da6

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

deployment/proxies.rst

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,29 @@ enough, as it will only trust the node sitting directly above your application
159159
ranges of any additional proxy (e.g. `CloudFront IP ranges`_) to the array of
160160
trusted proxies.
161161

162+
Reverse proxy in a subpath / subfolder
163+
--------------------------------------
164+
165+
If you a running a Symfony application behind a reverse proxy, where the application is served in a subpath / subfolder,
166+
you might encounter the problem that Symfony generates incorrect URLs, which ignore the subpath / subfolder of the reverse proxy.
167+
To fix this, you need to pass the subpath / subfolder route prefix of the reverse proxy to Symfony by
168+
setting the ``X-Forwarded-Prefix`` header. This is required for Symfony to generate the correct URLs. The header can normally be configured
169+
in your reverse proxy configuration. Configure ``X-Forwared-Prefix`` as trusted header to be able to use this feature.
170+
171+
The ``X-Forwarded-Prefix`` is used by Symfony to prefix the base URL of request objects, which is
172+
used to generate absolute paths and URLs in Symfony applications. Without the header, the base URL would be only determined
173+
based on the configuration of the web server running Symfony, which leads to incorrect pathes/URLs, when the application
174+
is served under a subpath by a reverse proxy.
175+
176+
For example if your symfony application is directly served under an URL like ``https://symfony.tld/``
177+
and you would like to use a reverse proxy to serve the application under ``https://public.tld/app/``, you would need
178+
to set the ``X-Forwarded-Prefix`` header to ``/app/`` in your reverse proxy configuration.
179+
Without the header, Symfony would generate URLs based on its servers base URL (e.g. ``/my/route``) instead of the correct
180+
``/app/my/route``, which is required to access the route via the reverse proxy.
181+
182+
The header can be different for each reverse proxy, so that access via different reverse proxies served under different
183+
subpaths can be handled correctly.
184+
162185
Custom Headers When Using a Reverse Proxy
163186
-----------------------------------------
164187

0 commit comments

Comments
 (0)