@@ -7,9 +7,14 @@ an AWS Elastic Load Balancer) or a reverse proxy (e.g. Varnish for
77
88For the most part, this doesn't cause any problems with Symfony. But, when
99a request passes through a proxy, certain request information is sent using
10- special ``X-Forwarded-* `` headers. For example, instead of reading the ``REMOTE_ADDR ``
11- header (which will now be the IP address of your reverse proxy), the user's
12- true IP will be stored in an ``X-Forwarded-For `` header.
10+ either the standard ``Forwarded `` header or non standard special ``X-Forwarded-* ``
11+ headers. For example, instead of reading the ``REMOTE_ADDR `` header (which
12+ will now be the IP address of your reverse proxy), the user's true IP will be
13+ stored in a standard ``Forwarded: for="..." `` header or a non standard
14+ ``X-Forwarded-For `` header.
15+
16+ .. versionadded :: 2.7
17+ ``Forwarded `` header support was introduced in Symfony 2.7
1318
1419If you don't configure Symfony to look for these headers, you'll get incorrect
1520information about the client's IP address, whether or not the client is connecting
@@ -57,9 +62,9 @@ the IP address ``192.0.0.1`` or matches the range of IP addresses that use
5762the CIDR notation ``10.0.0.0/8 ``. For more details, see the
5863:ref: `framework.trusted_proxies <reference-framework-trusted-proxies >` option.
5964
60- That's it! Symfony will now look for the correct `` X-Forwarded-* `` headers
61- to get information like the client's IP address, host, port and whether or
62- not the request is using HTTPS.
65+ That's it! Symfony will now look for the correct headers to get information
66+ like the client's IP address, host, port and whether the request is
67+ using HTTPS.
6368
6469But what if the IP of my Reverse Proxy Changes Constantly!
6570----------------------------------------------------------
@@ -90,9 +95,12 @@ other information.
9095My Reverse Proxy Uses Non-Standard (not X-Forwarded) Headers
9196------------------------------------------------------------
9297
93- Most reverse proxies store information on specific ``X-Forwarded-* `` headers.
94- But if your reverse proxy uses non-standard header names, you can configure
98+ Although `rfc7239 `_ recently defined a standard ``Forwarded `` header to disclose
99+ all proxy information, most reverse proxies store information on non standard
100+ ``X-Forwarded-* `` headers.
101+ But if your reverse proxy uses other non-standard header names, you can configure
95102these (see ":doc: `/components/http_foundation/trusting_proxies `").
96103The code for doing this will need to live in your front controller (e.g. ``web/app.php ``).
97104
98105.. _`security groups` : http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-elb-security-groups.html
106+ .. _`rfc7239` : http://tools.ietf.org/html/rfc7239
0 commit comments