Hi Greg,
TS is checking the request-URI 's host matches the host header and
modifying the header if it does not to avoid content spoofing. There's
an option that isn't in the default records.config that controls this:
CONFIG proxy.config.http.avoid_content_spoofing INT 1
Can you try adding that to your config file and setting it to 0? That
should give the behavior that you want. Keep in mind TS will use the
host header when matching for items in cache if you have that enabled.
--Steve
Greg Smolyn wrote:
Hi,
we've decided to use traffic server as a cache for a background process that does a bunch of fetching. Admittedly we're doing something a bit non standard, but we're having troubles trying to configure the system such that it doesn't modify host headers on us.
Here's the scenario:
- trafficserver is listening on 127.0.0.1:8080
- we have a number of local VIPs on our machine that we use as aliases for real
backend servers, so, if we want to fetch http://www.foo.com/test.jpg, we would
go through it's VIP at, say, 10.0.1.1
What happens with trafficserver in the mix is:
- we open TCP connection to 127.0.0.1:8080 and does a GET
http://10.0.1.1/test.jpg with Host: www.foo.com
- trafficserver then requests on 10.0.1.1 a GET /test.jpg, with Host: 10.0.1.1
What we really need is the original Host header in the proxied request.
We've tried turning on proxy.config.url_remap.pristine_host_hdr (setting it to
1), however this does nothing.
Any suggestions? Or are we going to have to write a plugin? And if so, which
is a good plugin sample to start from?
Thanks!
-greg