squid代理会覆盖我的主机头,我该怎么办?


8

我的鱿鱼有以下问题:

一些客户端通过鱿鱼代理同时访问62台服务器。所有服务器均具有相同的主机名(www.example.com),但具有不同的公用IP(123.123.123.2至123.123.123.63)。服务器所有者使用一种DNS轮询。

我只能访问鱿鱼服务器和客户端。仅通过代理IP允许与服务器的连接。

没有代理,我只是发送一个请求以从http // 123.123.123.5 / dataforme加载数据,但是我发送了主机头“ www.example.com”。那像应该的那样工作。

但是现在将squid用作非缓存代理已不再可行。Squid覆盖已发送的请求主机标头。这样,目标服务器不知道要传送什么数据,因为主机头没有正确传输。

我设置

url_rewrite_host_header off

但这没有任何作用。似乎仅在将鱿鱼用作重定向器时才使用此选项。那不是我要做的。

如果没有其他要提取的站点,则以下内容将起作用:

header_access Host deny all
header_replace Host www.example.com

但是,当我这样做时,每个请求都将获得www.example.com主机标头。这样就无法再访问其他站点。

我能做什么?

在此先感谢您的帮助!


主机头被重写为什么?
安德鲁B

主机标头被重写为IP地址(在我的示例中为123.123.123.5)。
克里斯,

您是否检查过实际上是鱿鱼重写标头,而不是“一种DNS轮询”?tcpdump可以帮助...
kay27 '17

Answers:


0

除非有一些错误的指令,否则标准的Squid安装程序不会这样做。如果您使用的是标准版本,请从头开始重做配置。如果是自定义编译,则应查看代码并编译选项。


1
请指定应启用wath编译器选项
Federico Galli

通常是标头重写选项。顺便说一句,我强烈建议您使用默认的推荐选项或标准二进制文件。如果不确定所编译的内容,鱿鱼可能会使事情变得混乱和不稳定。
MTG

0

将这些行添加到您的鱿鱼配置中。让我们看看是否有帮助。

request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
forwarded_for off
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.