过去几天,我一直在尝试在我的 Debian 机器上设置 Squid3 代理,但徒劳无功。我做了安装软件、添加配置等常规操作。我的配置如下:
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
http_access allow localhost
http_port 50001
http_access allow all
squid 代理正在按照 监听正确的端口netstat
。
me@vps:/etc/squid3$ netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 0 [::]:50001 [::]:* LISTEN
访问日志如下所示:
1404520356.673 60499 X.X.129.122 TCP_MISS/503 0 CONNECT mail.google.com:443 - DIRECT/2607:f8b0:4004:803::1015 -
1404520416.716 59876 X.X.129.122 TCP_MISS/503 0 CONNECT mail.google.com:443 - DIRECT/2607:f8b0:4004:803::1015 -
1404520431.727 182508 X.X.129.122 TCP_MISS/504 4816 GET http://www.google.com/ - DIRECT/2607:f8b0:4004:803::1010 text/html
1404520476.758 59885 X.X.129.122 TCP_MISS/503 0 CONNECT mail.google.com:443 - DIRECT/2607:f8b0:4004:803::1015 -
1404520536.798 59884 X.X.129.122 TCP_MISS/503 0 CONNECT mail.google.com:443 - DIRECT/2607:f8b0:4004:803::1015 -
1404520596.588 59633 X.X.129.122 TCP_MISS/503 0 CONNECT mail.google.com:443 - DIRECT/2607:f8b0:4004:803::1015 -
我在 Firefox 中使用代理时收到的错误是:
无法检索请求的 URL 系统返回:(110)连接超时远程主机或网络可能已关闭。请重试请求。
非常感谢任何关于此问题的指点/帮助。谢谢。
编辑1:有趣的是,我可以从我的 VPS 连接到 google/yahoo/facebook,但不能连接到其他一些网站whatsmyip.org
。
答案1
因此,通过查看您的日志,我们可以清楚地看到您的系统正在尝试使用 mail.google.com ( DIRECT/2607:f8b0:4004:803::1015
) 的 IPv6 地址。如果您的系统上配置了 IPv6,就会发生这种情况。
但我怀疑你没有完全配置它,或者你的 ISP 没有完全配置 IPv6。关键是 IPv6 在你和 Google 之间的某个地方出现了问题。
您可以完全禁用 IPv6 或花时间修复它。但现在我们先忽略它。
作为短期修复,您可以更改 squid 中的设置,如果给定名称有可用的 IPv4 地址,则始终首先使用 IPv4 地址。只需放 dns_v4_first on
在你的 squid 配置中。
与您的 Squid 问题无关,如果这是 Linux 机器,您可能还需要查看本地gai.conf
。squid 不会使用它,但您的操作系统会使用它来配置名称解析。您可能需要设置或取消注释该行,precedence ::ffff:0:0/96 100
以便在系统的其余部分优先使用 IPv4 而不是 IPv6。