如何配置 squid 以传递客户端 ip 来验证程序?

Posted

技术标签:

【中文标题】如何配置 squid 以传递客户端 ip 来验证程序?【英文标题】:How to configure squid to pass client ip to authenticate program? 【发布时间】:2014-10-28 06:15:01 【问题描述】:

我想在 Squid 中使用我自己的身份验证程序,如下所示。

auth_param basic program /usr/bin/python python_script_location
auth_param basic children 20
auth_param basic realm Username and password
auth_param basic credentialsttl 5 hours

但默认情况下,squid 只将用户名和密码传递给 python_script_location(参见此处的示例http://gofedora.com/how-to-write-custom-basic-authentication-plugin-squid-python/)。

是否可以将一些内置值作为额外参数传递? 例如客户端IP,squid服务器的IP(我有多个传出IP地址,我想知道客户端访问的是哪个IP)

【问题讨论】:

【参考方案1】:

Squid 3.5 似乎会添加这个新功能:key_extras for auth_param。

http://www.squid-cache.org/Doc/config/auth_param/

http://devel.squid-cache.org/customlog/logformat.html

%la : 接受请求的本地 IP 地址

然后我们可以将“本地 IP 地址”添加到身份验证程序命令行,如下所示: auth_param 摘要 key_extras "%la"

【讨论】:

以上是关于如何配置 squid 以传递客户端 ip 来验证程序?的主要内容,如果未能解决你的问题,请参考以下文章

squid代理

squid-透明代理

配置squid集成域身份认证

搭建Squid3 密码账号IP代理

如何设置IIS以验证客户端证书并将其作为http标头传递给后端?

Windows Squid 安装配置