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

Neo*_*Neo 28 authentication proxy

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

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

现在,更多细节来充分解释我的情况:

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

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

我安装了squid3(在Ubuntu上),但是查看配置文件,我迷路了.我试过谷歌搜索,但它看起来太复杂了.

希望有人可以提供帮助.

Neo*_*Neo 33

我从鱿鱼教程中得知,最简单的配置是:

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
Run Code Online (Sandbox Code Playgroud)

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