I am a little confused on the this current standard for headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded). I tried reading the specification (https://datatracker.ietf.org/doc/html/rfc7239#section-4) and it seems a little confusing to me with limited examples.
I have a basic configuration like this:
client -> ingress (load balancer) -> reverse proxy -> service
The Forwaded header defines four fields as follows:
- by - The interface where the request came in to the proxy server.
- for - The client that initiated the request and subsequent proxies in a chain of proxies.
- host - The Host request header field as received by the proxy.
- proto - Indicates which protocol was used to make the request (typically "http" or "https").
Can anyone tell me (excluding proto, that one is obvious) what each of these is set to in my case? I set the headers at my proxy with a registry lookup for services. My assumption was the "for" is the client sending the request, "by" I don't know what interface means, "host" I assumed is my ingress. I want to follow the standard, it just seems slightly vague.