Squid代理设置和配置
Squid 是经典的 Linux HTTP/HTTPS 缓存代理,支持无数企业网关。这里是一个干净的安装、一个访问控制的 squid.conf、认证以及允许 HTTPS 通过的 CONNECT 规则。
Squid 的用途
Squid 是一个成熟的、功能丰富的 HTTP 和 HTTPS 缓存代理。与小型的 3proxy 或仅支持 SOCKS 的 Dante 不同,Squid 是围绕 web 流量构建的:它可以缓存响应,通过访问控制列表进行过滤,验证用户,并详细记录。这使它成为企业出站网关、繁忙网络的缓存层或受控的 HTTP CONNECT 代理的默认选择。它不支持 SOCKS — 对于这一点,你可以使用 3proxy 或 Dante(见 构建你自己的代理)。
新手总是会遇到的两个问题是访问控制(Squid 默认拒绝所有请求)和 HTTPS(需要允许 CONNECT 方法)。下面的配置同时处理这两者。
一个安全的squid.conf
在端口3128上使用带有ACL的经过身份验证的转发代理,允许CONNECT用于HTTPS,并限制安全端口。根据您的发行版调整路径。
apt update && apt install -y squid apache2-utils # create a password file for basic auth: htpasswd -c /etc/squid/passwd USER # prompts for password cat > /etc/squid/squid.conf <<'CFG' http_port 3128 # --- authentication --- auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd auth_param basic realm s4m-proxy acl authenticated proxy_auth REQUIRED # --- safe ports / CONNECT for HTTPS --- acl SSL_ports port 443 acl Safe_ports port 80 443 21 1025-65535 acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports # --- allow only authenticated users, deny the rest --- http_access allow authenticated http_access deny all # --- small cache --- cache_dir ufs /var/spool/squid 1000 16 256 coredump_dir /var/spool/squid CFG squid -k parse # validate config systemctl restart squid # test: curl -x http://USER:PASS@YOUR.VPS.IP:3128 https://api.ipify.org
ACL、HTTPS和诚实限制
Squid 的强大之处在于其 ACL 模型:您可以根据源 IP、目标、端口、时间或认证用户来允许或拒绝访问,规则从上到下进行评估,首个匹配的规则生效。最后的 http_access deny all 行是至关重要的——没有默认拒绝,配置错误的 Squid 会变成一个开放中继。对于 HTTPS,请记住 Squid 使用 CONNECT 隧道加密流量,它无法读取;SSL_ports ACL 限制了该隧道可以到达的端口。 (Squid 还可以使用本地 CA 进行 TLS 拦截,但对于普通的正向代理,您不希望这样。)
自己运行 Squid 可以让您控制数据中心的出口并获得丰富的日志记录,但需要维护。如果您只需要一个经过身份验证的 HTTP 出口而不想操作服务器,这正是 s4m HTTP proxy 在 proxy.s4m.online:3128 提供的功能,带有 专用 IP 选项和 API。如果请求返回 407,请检查凭据——请参阅 407 指南。
问题,已解答
为什么安装后Squid会阻止我所有的流量?
Squid 默认拒绝所有,直到您添加 http_access allow 规则。您需要一个与您的用户或源 IP 匹配的 ACL,以及一个在最终拒绝所有之前的允许行。默认拒绝是一个安全功能,可以防止 Squid 成为开放中继。
Squid如何处理HTTPS?
通过 CONNECT 方法:Squid 在 443 端口打开到目标的原始隧道,并在不读取的情况下中继加密字节。您必须允许 CONNECT 到您的 SSL_ports ACL。Squid 还可以通过本地 CA 拦截 TLS,但普通的正向代理不需要这样做。
人们通过搜索找到此页面
- squid代理设置和配置
- 如何配置squid代理设置和配置
- 数据中心代理与住宅代理与移动代理:全面比较
- 最佳 squid代理设置和配置 2026
- squid代理设置和配置 用于抓取
- 免费代理列表 列表
- http 代理 的工作原理
- WireGuard与OpenVPN:选择哪个VPN协议
- IP地址 安卓版
- HTTP CONNECT 方法解释
此页面回答的真实搜索短语 — 链接的短语打开详细覆盖它们的页面。