我正在尝试将 SQUID(Ubuntu 18.04 上的 3.5.27)配置为透明代理。更进一步,它应该处理身份验证和请求日志记录,但我一开始很简单,但已经卡住了。
我正在本地网络上工作。在 SQUID 服务器 (jarvis) 的 5000 端口上运行着一个简单的网络服务器。从我网络上的另一台计算机上,我试图访问http://jarvis:5000(显然在关闭 iptables 时有效)。
IPTABLES 配置适用于
iptables -t nat -A PREROUTING -i enp1s0 -p tcp -j REDIRECT --to-port 3128
我的 squid.conf 尽可能简单
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/htpasswd
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_port 3128 transparent
visible_hostname jarvis
/usr/lib/squid/basic_ncsa_auth /etc/squid/htpasswd 有效(用户名和密码之间没有冒号:
# /usr/lib/squid/basic_ncsa_auth /etc/squid/htpasswd
me itsame
OK
在我正在做的另一台机器上
curl -v -u me:itsame http://jarvis:5000
接收
GET / HTTP/1.1
> Host: jarvis:5000
> Authorization: Basic bWU6aXRzYW1l
> User-Agent: curl/7.63.0
> Accept: */*
>
< HTTP/1.1 407 Proxy Authentication Required
< Server: squid/3.5.27
< Mime-Version: 1.0
< Date: Thu, 15 Aug 2019 16:41:13 GMT
< Content-Type: text/html;charset=utf-8
< Content-Length: 3538
< X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
< Vary: Accept-Language
< Content-Language: en
* Authentication problem. Ignoring this.
< Proxy-Authenticate: Basic realm="Squid proxy-caching web server"
< X-Cache: MISS from jarvis
< X-Cache-Lookup: NONE from jarvis:0
< Via: 1.1 jarvis (squid/3.5.27)
< Connection: keep-alive
我错过了什么?