mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 23:27:04 +02:00
[MINOR] option forwardfor is for frontends too
Finally, if the "option forwardfor" is specified in the frontend and not in the backend, apply it.
This commit is contained in:
parent
c2168d3ccb
commit
bb046ac8c5
7
TODO
7
TODO
@ -174,4 +174,11 @@ TODO for 1.3
|
|||||||
filters and backend, on which every entity could rely.
|
filters and backend, on which every entity could rely.
|
||||||
- implement 'on uri <uri> <proxy>', 'on host <host> <proxy>'
|
- implement 'on uri <uri> <proxy>', 'on host <host> <proxy>'
|
||||||
- remove the first now useless hop in hdr_idx
|
- remove the first now useless hop in hdr_idx
|
||||||
|
- implement "track XXX.YYY" for each server as an alternative to
|
||||||
|
health checks. This will automatically set the server state to
|
||||||
|
the same as server YYY of proxy XXX.
|
||||||
|
- balance on URI hash (specify length or depth)
|
||||||
|
- balance on any header hash (eg: host)
|
||||||
|
- balance with redirections to real servers
|
||||||
|
- multi-site LB with weighted redirections to the remote one
|
||||||
|
|
||||||
|
@ -1133,16 +1133,6 @@ int process_cli(struct session *t)
|
|||||||
*
|
*
|
||||||
* For the parsing, we use a 28 states FSM.
|
* For the parsing, we use a 28 states FSM.
|
||||||
*
|
*
|
||||||
* RFC2616 requires that both LF and CRLF are recognized as
|
|
||||||
* line breaks, but that any other combination is an error.
|
|
||||||
* To avoid duplicating all the states above to check for CR,
|
|
||||||
* we use a special bit HTTP_PA_LF_EXP that we 'OR' with the
|
|
||||||
* state we will switch to if the LF is seen, so that we know
|
|
||||||
* whether there's a pending CR or not. We can check it
|
|
||||||
* globally since all CR followed by anything but LF are
|
|
||||||
* errors. Each state is entered with the first character is
|
|
||||||
* has to process at req->lr.
|
|
||||||
*
|
|
||||||
* Here is the information we currently have :
|
* Here is the information we currently have :
|
||||||
* req->data + req->som = beginning of request
|
* req->data + req->som = beginning of request
|
||||||
* req->data + req->eoh = end of processed headers / start of current one
|
* req->data + req->eoh = end of processed headers / start of current one
|
||||||
@ -1570,9 +1560,10 @@ int process_cli(struct session *t)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 9: add X-Forwarded-For : Should depend on the backend only.
|
* 9: add X-Forwarded-For if either the frontend or the backend
|
||||||
|
* asks for it.
|
||||||
*/
|
*/
|
||||||
if (t->be->beprm->options & PR_O_FWDFOR) {
|
if ((t->fe->options | t->be->beprm->options) & PR_O_FWDFOR) {
|
||||||
if (t->cli_addr.ss_family == AF_INET) {
|
if (t->cli_addr.ss_family == AF_INET) {
|
||||||
int len;
|
int len;
|
||||||
unsigned char *pn;
|
unsigned char *pn;
|
||||||
|
Loading…
Reference in New Issue
Block a user