Squid:转发到另一个代理(具有父代理的身份验证详细信息)

时间:2013-10-05 15:31:29

标签: authentication proxy

简而言之,我正在寻找一种简单的方法来执行以下操作(如果可能,请提供代码示例):

  • 在我的计算机上设置并启动代理服务器(例如地址为10.10.200.200:6767),可以捕获来自手机的所有网络请求
  • 一旦来自手机的请求到达此代理,它将添加自定义身份验证详细信息(my_username / my_password)并将其转发给机构代理(例如地址为10.1.2.3:80)
  • 我的本地代理(10.10.200.200)上不需要任何缓存/加速。它只需要捕获请求并转发它。

现在,有更多细节可以全面解释我的情况:

在我的机构中,需要通过代理进行身份验证才能连接到互联网。我通常会在弹出窗口时输入我的ldap用户名/密码进行身份验证。

现在,我想将手机连接到学院WiFi,但我的手机没有使用代理进行身份验证的选项。只能指定代理地址。因此,我计划在我的计算机上设置本地代理,以捕获来自手机的所有请求,添加身份验证详细信息并通过我的计算机将其传递给我的机构代理。

我安装了squid3(在Ubuntu上),但看着配置文件,我迷路了。我尝试使用谷歌搜索,但看起来太复杂了。

希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:31)

我从鱿鱼教程中了解到,最简单的配置是:

http_access allow all
http_port 3128

coredump_dir /var/spool/squid3
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .       0   20% 4320

cache_peer 10.1.2.3 parent 80 0 no-query default login=my_username:my_password
never_direct allow all

这些行应该可以让您在本地计算机上运行代理服务器,将所有请求转发到另一个代理服务器(相应地更改IP地址)。 但请注意,在上面的脚本中,我已禁用任何访问控制/过滤器,因此可能任何人都可以连接并使用您的代理。您需要添加其他代码以限制只能进入某些设备。