Squid proxy overrides the host header, what can I do

squid

I have the following problem with squid:

Some clients access concurrently 62 servers via a squid proxy.
All servers have the same host name (www.example.com) but different public IPs (123.123.123.2 to 123.123.123.63). The server owner uses a kind of dns round robin.

I only have access to the squid server and to the clients.
The connection to the servers is only allowed via the proxy IPs.

Without proxy, I just send a request to load data from http//123.123.123.5/dataforme but I send the host header "www.example.com". That works like it should.

But now using squid as a non caching proxy this is not possible anymore. Squid overrides the sent request host header. By doing this, the destination server does not know what data to deliver because the host-header is not correctly transmitted.

I set

url_rewrite_host_header off

But this does not have any effect. It seems that this option is only used when using squid as redirector. That is not what I do.

The following will work, if there were no other sites to fetch:

header_access Host deny all
header_replace Host www.example.com

But when I do this, every request will get the www.example.com host header.
Then it is not possible to access other sites anymore.

What can I do?

Thanks in advance for your help!

Best Answer

Standard Squid installations don't do so, unless with some faulty directives. If you are using a standard version, please redo the config from scratch. If it's a custom compilation, you should review the code and compile options.