我有一个非常简单的问题。我只需要知道如何在 Debian 中指定 http 代理(带有登录凭据)。Squid 服务器是一台单独的机器,自从实施代理以来,我们的 Web 服务和开发服务器上的备份就无法正常工作。所以基本上我只需要在 Debian 中指定一个 http 代理...
答案1
您可能希望通过 .bashrc 脚本创建一个环境变量“http_proxy”,并为其分配如下值:
export http_proxy=http://login:[email protected]:3128
也可以使用 Web 浏览器进行手动设置,但对于 apt-get,请编辑 /etc/apt/apt.conf 并添加:
use Acquire::http::Proxy "http://login:[email protected]:3128";
编辑:您可能希望查看以下文章来设置 iptables 将流量重定向到您的代理: http://www.tldp.org/HOWTO/TransparentProxy-6.html
答案2
透明 http 流量路由
# Your debian machine (gateway)
LAN_IP="192.168.0.1"
# Your network
LAN_IP_RANGE="192.168.0.0/24"
# Your squid machine
PROXY_IP="192.168.0.254"
PROXY_PORT="3128"
iptables -t mangle -A PREROUTING -s $LAN_IP_RANGE ! -d $LAN_IP_RANGE -p TCP --destination-port 80 -j MARK --set-mark 11
iptables -t nat -A PREROUTING -m mark --mark 11 -p TCP -j DNAT --to-destination ${PROXY_IP}:${PROXY_PORT}
iptables -t nat -A POSTROUTING -m mark --mark 11 -p TCP -j SNAT --to-source $LAN_IP
答案3
透明代理无法通过登录凭据完成。想想看;如果用户不知道发生了什么,那么您就不能指望他们进行用户名/密码交换!
答案4
你好,这个也许对你有帮助。试试这个。
在 /etc/squid.conf 中添加此内容
auth_param basic 程序 /usr/lib/squid/getpwnam_auth /etc/passwd auth_param basic children 5 auth_param basic realm Squid 代理缓存服务器 auth_param basic creddentialsttl 1 小时
我还被建议输入acl:
acl 密码 proxy_auth 必需 http_access 允许密码
有一个网站指出你需要输入以下内容:
身份验证程序 /usr/lib/squid/getpwnam_auth