我的 centos 服务器上需要 squid 代理。但我就是无法让它工作。我执行了 yum install squid。这是我的 squid.conf 文件(我删除了所有注释):
acl 所有源 0.0.0.0/0.0.0.0 acl 管理器 proto cache_object acl 本地主机 src 127.0.0.1/255.255.255.255 acl to_localhost 目标 127.0.0.0/8 acl SSL_ports 端口 443 acl Safe_ports 端口 80 acl Safe_ports 端口 21 acl Safe_ports 端口 443 acl Safe_ports 端口 70 acl Safe_ports 端口 210 acl Safe_ports 端口 1025-65535 acl Safe_ports 端口 280 acl Safe_ports 端口 488 acl Safe_ports 端口 591 acl Safe_ports 端口 777 acl CONNECT 方法 CONNECT acl 我们的网络 src 192.168.1.0/24 192.168.2.0/24 http_access 允许 our_networks http_access 允许管理器本地主机 http_access 拒绝管理器 http_access 拒绝 !Safe_ports http_access 拒绝连接 !SSL_ports http_access 允许本地主机 http_access 拒绝所有 icp_access 允许所有 http_端口 3128 层次结构_停止列表 cgi-bin? 访问日志 /var/log/squid/access.log 鱿鱼 acl QUERY urlpath_regex cgi-bin \? 缓存拒绝查询 刷新模式^ftp: 1440 20% 10080 刷新模式^gopher: 1440 0% 1440 刷新模式 . 0 20% 4320 acl apache rep_header 服务器 ^Apache broken_vary_encoding 允许 apache coredump_dir /var/spool/squid
然后我将服务器的公共 IP 和端口 3128 放入我的 Web 浏览器代理设置中...但它不起作用,我无法访问任何网站。请帮忙。谢谢。
答案1
squid 的配置文件不用于/24
定义子网,192.168.1.0/255.255.255.0
而是使用:...
答案2
我首先会验证服务是否正在运行,然后检查它是否像您期望的那样在监听 3128。Telnet 是一种快速检查 TCP 端口的工具。
telnet your.centos.box 3128
它会告诉您是否能够连接。您也可以在 centos 机器上使用 netstat 来执行相同的操作。之后,我会检查 /var/log/squid/access.log 以查看是否有任何使用 Firefox 进行测试的迹象。我已经有一段时间没有玩过 squid 了,因此您可能需要更改/设置一些日志选项才能获得良好的输出。我还会考虑允许“全部”的 http 访问,直到您开始运行,但前提是您在内部网络上执行此操作或设置防火墙以防止滥用。
答案3
我猜当你点击 service squid start 时 Squid 就开始启动了?
如果没有,请检查它是否无法启动,通常是当您忘记添加 FQDN 时失败,并且还初始化了缓存。
如果 Squid 正在运行,请打开 ssh 窗口并 tail -f /var/log/squid/access.log,同时尝试通过配置为使用代理的客户端访问,并查看出现哪些错误消息。
您还可以考虑安装 webmin,并使用 GUI 设置 Squid。
而且它的安装非常简单,只需下载.rpm 并安装包并进行分类即可。