Squid:禁用 X-Forwarded-For,但仅限于特定的 ACL

Squid:禁用 X-Forwarded-For,但仅限于特定的 ACL

我知道,我可以通过全局使用指令“forwarded_for off”或“forwarded_for delete”来完全关闭 Squid 中的 X-Forwarded-For 标头。我希望能够仅针对特定 ACL 禁用该标头,这样我就可以仅针对给定的 URL 禁用此标头,而针对其他 URL 启用它。有什么办法吗?

答案1

您可以基于外部文件创建 ACL 来存储 URL(我认为这样更容易管理):

acl NoXForwardedFor dstdomain "/etc/squid/NoXForwardedFor.txt"

的内容/etc/squid/NoXForwardedFor.txt可能是这样的:

.serverfault.com
.superuser.com
.stackoverflow.com

X-Forwarded-From然后从给定 ACL 的标题中删除:

request_header_access X-Forwarded-For deny NoXForwardedFor

注意:您可以使用dst指令代替指令dstdomain。但它需要 URL 主机的 IP 地址,因此请确保目标域具有固定的 IP 地址。

也许有一些有用的链接可以加深理解:

答案2

我尝试了同样的方法,正确的语法是

acl NoXForwardedFor dst "/usr/pbi/squid-amd64/etc/squid/NoXForwardedFor.txt"

request_header_access X-Forwarded-For deny NoXForwardedFor

其中NoXForwardedFor.txt包含域名。

相关内容