<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 9, 2016 at 3:43 PM, Amos Jeffries <span dir="ltr"><<a href="mailto:squid3@treenet.co.nz" target="_blank">squid3@treenet.co.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">On 10/03/2016 3:29 a.m., Tomas Mozes wrote:<br>
><br>
> Hello Amos,<br>
> the origin server has multiple virtual hosts configured, so if it does not<br>
> receive the Host: header by which it is configured (like <a href="http://storage.example.com" rel="noreferrer" target="_blank">storage.example.com</a>),<br>
> it will emit a 404.<br>
><br>
> Currently, this does the following. The clients requests:<br>
> GET /test.txt HTTP/1.1<br>
> Host: <a href="http://cdn.example.com" rel="noreferrer" target="_blank">cdn.example.com</a><br>
><br>
> This comes to squid, it will then send the same request to the origin:<br>
> GET <a href="http://cdn.example.com/test.txt" rel="noreferrer" target="_blank">http://cdn.example.com/test.txt</a> HTTP/1.1<br>
> Host: <a href="http://cdn.example.com" rel="noreferrer" target="_blank">cdn.example.com</a><br>
><br>
> The result is a 404. I would need squid to alter the Host: to<br>
> <a href="http://storage.example.com" rel="noreferrer" target="_blank">storage.example.com</a>. Is that possible?<br>
<br>
</span>It is (cache_peer forcedomain=X option). But if you do so you have to<br>
ensure that nothing, anywhere, ever references that 'private' domain in<br>
anything produced by the virtual host. That means everything from HTTP<br>
headers, down to embeded object links in PDFs / images / etc , and links<br>
generated by scripts from string bits.<br>
 It is rather a PITA to be sure you got everything if the site was not<br>
designed to be that way from the very beginning.<br>
<span class=""><br>
><br>
> What I can do is to add a <a href="http://cdn.example.com" rel="noreferrer" target="_blank">cdn.example.com</a> server alias to the origin, then<br>
> it works of course.<br>
<br>
</span>Or you could use <a href="http://storage.example.com" rel="noreferrer" target="_blank">storage.example.com</a> as the public domain name, with DNS<br>
records pointing at the proxy IPs and let them handle the traffic<br>
delivery like they are designed to.<br>
 If this is a vhost on the server, then it already has a different<br>
private name you can put in the cache_peer to get to it.<br>
<div class=""><div class="h5"><br>
Amos<br>
<br>
_______________________________________________<br>
squid-users mailing list<br>
<a href="mailto:squid-users@lists.squid-cache.org">squid-users@lists.squid-cache.org</a><br>
<a href="http://lists.squid-cache.org/listinfo/squid-users" rel="noreferrer" target="_blank">http://lists.squid-cache.org/listinfo/squid-users</a></div></div></blockquote><div><br><br><div class="gmail_extra">Thanks Amos, forceddomain is what I was looking for, shame on me I haven't found it.<br><br></div>This answers my question, thank you very much! <br></div></div><br></div></div>