Intended behavior for Host header in Proxy scenario
Maxim Dounin
mdounin at mdounin.ru
Thu Nov 22 21:13:38 UTC 2018
Hello!
On Thu, Nov 22, 2018 at 09:11:59PM +0100, Jack Henschel wrote:
> Hello everyone,
>
> during my last debugging session with Nginx I was wondering how and when
> exactly Nginx passes upstream's hostname when proxying a request.
>
> In particular, I have the following example:
> > upstream backend {
> > server a.example.com:443;
> > server b.example.com:443;
> > }
>
> > server {
> > proxy_pass https://backend/path;
> > proxy_set_header Host $proxy_host; # default according to docs
> > }
>
> I observed that Nginx does not always pass the appropriate Host header
> to the upstream server (i.e. "a.example.com" for "server
> a.example.com:443" and "b.example.com" for "server b.example.com:443").
>
> Is this observation correct or am I missing something?
The Host header is set to what you wrote in the "proxy_pass" by
default. That is, it will be "backend" with the above
configuration.
--
Maxim Dounin
http://mdounin.ru/
More information about the nginx
mailing list