Squid 是支持 HTTP、HTTPS、FTP 等协议的 Web 缓存代理。它通过缓存和重复使用经常请求的网页来减少带宽并缩短响应时间。Squid 具有广泛的访问控制,是出色的服务器加速器。它可以在大多数可用操作系统(包括 Windows)上运行,并根据 GNU GPL 获得许可。
搭建
docker run -d --name squid -e TZ=UTC -p 3128:3128 ubuntu/squid:5.2-22.04_beta
1
2
2
开启密码验证
安装htpasswd
sudo apt-get update
sudo apt-get install apache2-utils
1
2
2
创建密码文件
# 添加用户密码
htpasswd -c -bm /etc/squid/passwords username password
# 删除用户密码
htpasswd -D -nbm /etc/squid/passwords username password
1
2
3
4
2
3
4
修改配置
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic children 10 startup=5 idle=2
auth_param basic credentialsttl 2 hours
acl auth proxy_auth REQUIRED
http_access deny !auth
http_access allow auth
http_access deny all
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
重启squid
# 重启服务
service squid restart
#或重启容器
docker restart squid
1
2
3
4
2
3
4
开启HTTP TLS认证
参考
- https://hub.docker.com/r/ubuntu/squid