我刚刚在 CentOS 7 系统上安装了 Squid 代理服务器,一切顺利,但代理仅加载 Google 网站,如 YouTube、Google 搜索等......
当我访问另一个网站时,我的浏览器上显示“ERR_CONNECTION_RESET”。
我的 squid.conf 文件是基本的,但我注释了所有“http_access”行,只保留了“http_access allow all”
我还评论了“cache_dir”并添加了“cachedenyall”,因为我希望 Squid 仅作为代理运行,而不使用缓存。
我还设置了“dns_v4_first on”和“dns_nameservers 1.1.1.1 1.0.0.1”
请注意,HTTP 网站可以正常工作,但 HTTPS 则不行(Google 网站除外)
我不知道是什么导致了这个问题,但我知道只有 HTTP 才能工作,特别是浏览器解析 HTTPS 站点并从 http:/ 重定向到 https://,但随后它显示“ERR_CONNECTION_RESET”
请注意,我有 Squid 3.5
编辑:access.log 文件在非工作站点上显示“TCP_MISS”
答案1
看来你的 ISP 阻止了 Squid HTTPSCONNECT
隧道。请参阅https://superuser.com/a/529061/936854
我找到了一个适用于 CentOS 7 的解决方案,但不幸的是你必须离开 Squid 并使用3代理因为它使用了 CONNECT 隧道的替代方案。
解决方案是:
步骤 1:安装以下内容(这是最重要的步骤,因为开发工具包含有助于绕过 ISP 阻止的软件包)
yum -y update
yum -y install epel-release net-tools firewalld
yum -y groupinstall "Development Tools"
firewall-cmd --reload
步骤 2:安装 3proxy 服务器。您可以使用这个安装程序适用于 CentOS 7。
步骤 3:由于您的 ISP 仅允许代理使用 Google 流量,因此请确保在您的 3proxy 配置文件中包含以下内容以使用 Google DNS 服务器:
nserver 8.8.8.8
nserver 8.8.4.4
nscache 65536